Slic3r Guide

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 73

DownloadSlic3r Guide
Open PDF In BrowserView PDF
Slic3r

Slic3r

2.1

Introduction

Overview
Slic3r is a tool which translates digital 3D models into instructions that
are understood by a 3D printer. It slices the model into horizontal layers
and generates suitable paths to fill them.
Slic3r is already bundled with the many of the most well-known host
software packages: Pronterface, Repetier-Host, ReplicatorG, and can be
used as a standalone program.
This manual will provide guidance on how to install, configure and
utilize Slic3r in order to produce excellent prints.
This portion of the manual is derived from the complete Slic3r manual.
It has been customized for Mini users. The original unabridged version can
be found at manual.slic3r.org.

Goals & Philosophy
Slic3r is an original project started in 2011 by Alessandro Ranellucci (aka.
Sound), who used his considerable knowledge of the Perl language to create
a fast and easy to use application. Readability and maintainability of the
code are among the design goals.
The program is under constant refinement, from Alessandro and the
other contributors to the project, with new features and bug fixes being
released on a regular basis.

Donating
Slic3r started as a one-man job, developed solely by Alessandro in his
spare time, and as a freelance developer this has a direct cost for him.
By generously releasing Slic3r to the public as open source software, under
the GPL license, he has enabled many to benefit from his work.
The opportunity to say thank you via a donation exists. More details
can be found at: http://slic3r.org/donations.

52

2.2. GETTING SLIC3R

2.2

Getting Slic3r

Slic3r is Free Software, and is licensed under the GNU Affero General Public
License, version 3.

Downloading
From LulzBot
The Slic3r version that has been tested for the Mini 3D printer
can be downloaded from the LulzBot.com downloads page:
https://www.lulzbot.com/support/downloads.
Pre-compiled packages are available for Windows, Mac OS X and Linux.
Windows and Linux users can choose between 32 and 64 bit versions to
match their system.
Slic3r
Slic3r can be downloaded directly from: http://slic3r.org/download.
Pre-compiled packages are available for Windows, Mac OS X and Linux.
Windows and Linux users can choose between 32 and 64 bit versions to
match their system.
Manual
The latest version of full Slic3r manual, with LATEX source code, can be
found at: https://github.com/alexrj/Slic3r-Manual
Source
The source code is available via GitHub: https://github.com/alexrj/Slic3r.
For more details on building from source see §2.2 below.

Installing
Linux
Extract the archive to a folder of your choosing. Either:

53

Slic3r

• Start Slic3r directly by running the Slic3r executable, found in the
bin directory, or
• Install Slic3r by running the do-install executable, also found in the
bin folder.
The archive file may then be deleted.
Windows
Unzip the downloaded zip file to a folder of your choosing, there is no
installer script. The resulting folder contains two executables:
• slic3r.exe - starts the GUI version.
• slic3r-console.exe - can be used from the command line.
The zip file may then be deleted.
Mac OS X
Double-click the downloaded dmg file, an instance of Finder should open
together with an icon of the Slic3r program. Navigate to the Applications
directory and drag and drop the Slic3r icon into it. The dmg file may then
be deleted.

Building from source
For those wishing to live on the cutting edge, Slic3r can
be compiled from the latest source files found on GitHub
https://github.com/alexrj/Slic3r.
Up-to-date instructions for compiling and running from source can be
found on the Slic3r wiki.

2.3

First Print

Calibration
Before even attempting the first print it is vital that the printer is correctly
calibrated. Skipping or rushing this step will result in frustration and

54

2.3. FIRST PRINT

failed prints later, so it is important to take the time to make sure the
machine is correctly set up. Your LulzBot™ Mini 3D printer has already
been calibrated prior to leaving the factory. Be sure to complete the Setup
and First Print section of this manual before moving forward with Slic3r.
If you are just beginning with 3D printing or Slic3r, LulzBot recommends starting with our pre-set Slic3r profiles. You can find the Mini
Slic3r profiles at https://www.lulzbot.com/support/downloads. For
information on loading and export Slic3r profiles please see page 109. Note
that the pre-set profiles will only work correctly when Slic3r is in Expert
mode.
The pre-set profiles will give you Slic3r settings that will work great on
most designs. The Slic3r manual can be used as a reference in building
knowledge of Slic3r settings while using the pre-set profiles. Once you have
a number of prints completed you can use the Slic3r manual as a reference
to make small adjustments to the pre-set profiles or begin creating your
own profiles.

55

Slic3r

Configuration Wizard
Slic3r has two features to aid newcomers: the configuration wizard, and
simple mode.
Sometimes it is nice to have a helping hand when starting out with new
software. The configuration wizard asks a series of questions and creates a
configuration for Slic3r to start with.
When using the pre-set Mini Slic3r profiles you do not need to complete
the Configuration Wizard. The Configuration Wizard can be later accessed
from the top menu once you are ready to start creating your own Slic3r
profiles.

Figure 2.1: Configuration Wizard: Welcome Screen

56

2.3. FIRST PRINT

1. Firmware Type
The gcode produced by Slic3r is tailored to particular types of firmware.
The first step prompts for the firmware that the printer uses. For the Mini
3D printer select RepRap (Marlin/Sprinter)

Figure 2.2: Configuration Wizard: Firmware Type

57

Slic3r

2. Bed Size
This setting defines the maximum distance the extruder may travel along
the X and Y axis. The dimensions of the Mini 3D print surface are X: 160
and Y: 160.
Be sure to measure from the lower left corner where the extruder nozzle
rests when are the home position to the maximum distance the nozzle can
travel in each direction.

Figure 2.3: Configuration Wizard: Bed Size

58

2.3. FIRST PRINT

3. Nozzle Diameter
The diameter of the hot-end nozzle is usually clearly displayed either in
the description of the hot-end, or in the associated documentation, when
the hot-end is purchased. The default nozzle size on the Mini hot end is
0.5mm.
If the nozzle was home-made, or came from a source without a diameter
given, then carefully measure the aperture as accurately as possible. One
way of determining nozzle size is to very slowly (1mm/s) extrude some
filament into free air and measure the thickness of the resulting extrusion1 .
This has the benefit of taking die swell into account.

Figure 2.4: Configuration Wizard: Nozzle Diameter

1

http://forums.reprap.org/read.php?1,113374,113953

59

Slic3r

4. Filament Diameter
For Slic3r to produce accurate results it must know as accurately as possible
how much material is pushed through the extruder. Therefore it is vital to
give it as precise a value as possible for the filament diameter.
Although the filament used in FFF printers is sold as being either
3mm or 1.75mm this is only a general guide. The diameter can vary
between manufacturers and even between batches. Therefore it is highly
recommended to take multiple measurements from along a length of the
filament and use the average. For example, measurements of 2.89, 2.88,
2.90 and 2.91 would yield an average of 2.895, and so this would be used.

Figure 2.5: Configuration Wizard: Filament Diamter

60

2.3. FIRST PRINT

5. Extrusion Temperature
The extrusion temperature will depend on the material, and most can
operate over a range of temperatures. The supplier should provide guidance
as to which temperatures are suitable. A very general rule of thumb is that
PLA lies between 160°C and 230°C, and ABS lies between 220°C and 240°C.
More exotic materials will have a different range.
This is one parameter which you will want to fine tune when you start
producing prints. The optimal temperature can vary even between colors of
the same material. Another factor which may affect the chosen temperature
is how fast the extrusion is, where generally faster extrusion runs hotter.
Note: One may choose to control the extruder temperature manually
from the printer controller. In this case the temperature can be set to zero.

Figure 2.6: Configuration Wizard: Extrusion Temperature

61

Slic3r

6. Bed Temperature
If the printer has a heated bed then this parameter may be set. As with
the extruder temperature, the value will depend on the material used. A
rule of thumb is that PLA requires 35°C - 60°C and ABS requires 85°C.
Note: One may choose to control the bed temperature manually from
the printer controller. In this case the temperature can be set to zero.

Figure 2.7: Configuration Wizard: Bed Temperature

62

2.3. FIRST PRINT

At this stage the wizard is complete and the basic configuration is
defined.

Figure 2.8: Configuration Wizard: End

63

Slic3r

The Important First Layer
Before delving into producing the first print it is worthwhile taking a little
detour to talk about the importance of getting the first layer right. As
many have found through trial and error, if the first layer is not the best it
can be then it can lead to complete failure, parts detaching, and warping.
There are several techniques and recommendations one can heed in order
to minimise the chance of this happening.
Level bed. Having a level bed is critical. If the distance between the nozzle
tip and the bed deviates by even a small amount it can result in either the
material not lying down on the bed (because the nozzle is too close and
scrapes the bed instead), or the material lying too high from the bed and
not adhering correctly.
Higher temperature. The extruder hot-end and bed, if it is heated, can be
made hotter for the first layer, thus decreasing the viscosity of the material
being printed. As a rule of thumb, an additonal 5° is recommended.
Lower speeds. Slowing down the extruder for the first layer reduces the
forces applied to the molten material as it emerges, reducing the chances
of it being stretched too much and not adhering correctly. 30% or 50% of
the normal speed is recommended.
Correctly calibrated extrusion rates. If too much material is laid down
then the nozzle may drag through it on the second pass, causing it to lift
off the bed (particularly if the material has cooled). Too little material
may result in the first layer coming loose later in the print, leading either
to detached objects or warping. For these reasons it is important to have
a well-calibrated extrusion rate as recommended in §2.3).
First layer height. A thicker layer height will provide more flow, and
consequently more heat, making the extrusion adhere to the bed more. It
also gives the benefit of giving more tolerance for the levelness of the bed.
It is recommended to raise the first layer height to match the diameter of
the nozzle, e.g. a first layer height of 0.35mm for a 0.35mm nozzle. Note:
The first layer height is set this way automatically in simple mode.

64

2.3. FIRST PRINT

Fatter extrusion width. The more material touching the bed, the better
the object will adhere to it, and this can be achieved by increasing the
extrusion width of the first layer, either by a percentage or a fixed amount.
Any spaces between the extrusions are adjusted accordingly.
A value of approximately 200% is usually recommended, but note that
the value is calculated from the layer height and so the value should only
be set if the layer height is the highest possible. For example, if the layer
height is 0.1mm, and the extrusion width is set to 200%, then the actual
extruded width will only be 0.2mm, which is smaller than the nozzle. This
would cause poor flow and lead to a failed print. It is therefore highly
recommended to combine the high first layer height technique recommended
above with this one. Setting the first layer height to 0.35mm and the first
extrusion width to 200% would result in a nice fat extrusion 0.65mm wide.
Bed material. Many options exist for the material to use for the bed, and
preparing the right surface can vastly improve first layer adhesion.
PLA is more forgiving and works well on PET, Kapton, or blue painters
tape.
ABS usually needs more cajoling and, whilst it can print well on
PET and Kapton, there are reports that people have success by applying
hairspray to the bed before printing. Others have reported that an ABS
slurry (made from dissolving some ABS in Acetone) thinly applied can also
help keep the print attached.
No cooling. Directly related with the above, it makes no sense to increase
the temperature of the first layer and still have a fan or other cooling
mechanism at work. Keeping the fan turned off for the first few layers is
generally recommended.

65

Slic3r

Working with Models
Yet another step lies between now and the first print - a model has to found
and then sliced.
Model Formats
Slic3r accepts the following file types.
• STereoLithography (STL) files can come from a wide variety of
sources and are now a de facto standard in 3D printing. The files
simply describe the surface geometry of a 3D object without any
additional information (such as color or material), and it is this
simplicity that has probably made the format ubiquitous.
• Wavefront OBJ files are an open format originally used in an animation application from Wavefront Technologies, but has since been
adopted by the wider 3D modelling community. It is similar to the
STL format.
• Additive Manufacturing File Format (AMF) was developed in response to the limited nature of the STL format. In addition to
describing the geometry of the 3D model it can also describe colors
and materials, as well as more complex attributes, such as gradient
mixes and multiple object arrangements (constellations). Whilst the
format is deemed a standard it has yet to be widely adopted in the
3D maker community.
Finding Models
The 3D model files may come from an online repository, such as Thingiverse2 or GrabCAD3 , or be created from a CAD program, such as
FreeCAD4 , Sketchup5 , or OpenSCAD6 , or an online CAD tool such as
Shapesmith7 .
2

http://www.thingiverse.com
http://grabcad.com
4
http://sourceforge.net/projects/free-cad
5
http://www.sketchup.com
6
http://www.openscad.org
7
http://shapesmith.net
3

66

2.3. FIRST PRINT

You may wish to view the files before slicing and there are many free
applications available, one of which is Meshlab8 - a comprehensive tool for
viewing and working with 3D files.

Figure 2.9: Shapesmith online CAD tool.
Working with Plater
Slic3r has a tool, called Plater, which allows one or more models to be
loaded and arranged before being sliced.
8

http://www.meshlab.org

67

Slic3r

Figure 2.10: Plater
Once you have acquired a model, drag it onto the Plater window (or use
the Add button below the file list) to load it into Slic3r. In the figure below,
the traditional RepRap Minimug9 is loaded, and is viewed from above. The
ring around the model is a skirt - a single perimeter, several millimeters
away from the model, which is extruded first. This is useful in making sure
the plastic is flowing smoothly from the nozzle when the model is starting
to be printed.
9

http://www.thingiverse.com/thing:18357

68

2.3. FIRST PRINT

Figure 2.11: Minimug model.

Figure 2.12: STL file loaded.
The model can be repositioned by dragging the representation of it on
the left of the screen around the bed. Note that the dimensions of the bed
should match your printer, as given during the initial configuration above.

69

Slic3r

On the right-hand side is the list of currently loaded files. The buttons
along the top of the file list allow you to arrange the models.
• More/Less - Adjust how many copies should be printed.
• 45°/Rotate - Rotate the selected model around the Z axis, either in
45° increments clockwise or counter-clockwise, or by a given amount.
• Scale - Increase or decrease the size of the printed model.
• Split - Divides a model which consists of more than one part into it’s
constituent parts, allowing each one to be arranged individually.
The buttons along the bottom of the file list allow you to add, remove,
auto-arrange, or export the models.
• Add - Opens a file dialog to add a model to the plater, as an
alternative to dropping a file directly.
• Delete/Delete All - Remove one or all models from the plater.
• Autoarrange - Attempt to arrange the models to give the optimal
layout.
• Export G-code - Starts slicing the model and produces a G-Code file.
• Export STL - Save the current set of models as a single STL file.
Cleaning STLs
If the 3D mesh described in the model contains holes, or edges are
misaligned (known as being non-manifold), then Slic3r may have problems
working on it. Slic3r will attempt to fix any problems it can, but some
problems are out of its reach. If the application complains that a model
cannot be sliced correctly then there are several options available: see the
chapter about Repairing Models.

70

2.4. SIMPLE MODE

Printing
At this stage Slic3r has been configured and a model has been acquired,
sliced and made ready for print. Now would be the time to fire up the
printer and try it out.
A variety of host software is available to send the G-code to the
printer. Amongst the open-source solutions are: Printrun10 , Repetier11
and Repsnapper12 .
The following subsections will cover the options available in expert
mode, and look at advanced printing techniques, including special cases
and troubleshooting.

2.4 Simple Mode
Simple Mode
Slic3r has two modes of operation, Simple and Expert. These may be
chosen from the Preferences window (found under the File menu).

Figure 2.13: Preferences.
Simple mode offers a reduced set of options, enough for the beginner to
get started with. Expert mode gives more control over how Slic3r produces
the G-code and will be looked at later.
Print Settings
The Print Settings tab provides the opportunity to change settings
related to the actual print. Whereas the other tabs are changed rarely,
the settings on this tab will be modified regularly, possibly for each model
printed.
10

https://github.com/kliment/Printrun
http://www.repetier.com/
12
https://github.com/timschmidt/repsnapper
11

71

Slic3r

Figure 2.14: Simple Mode: Print Settings.

General. Layer height is the thickness of each layer, and it is the step
along the vertical axis taken before extruding a new layer atop the previous
one. There are several factors that influence how high each layer should
be:
• Desired resolution - Lower layer height should result in prints with
less noticeable ribs or bands, as each layer is smaller. Aesthetics plays
a role here, but also the type of model, for example, a mechanical part
may not need such a high resolution finish, whereas a presentation
piece may do so.

72

2.4. SIMPLE MODE

• Print speed - Shorter layers will result in smoother prints but each
print will take longer, simply because the extruder must trace the
pattern more times. A later goal will be to strike a balance between
layer height, the speed of the printer, and the quality of the resulting
print.
Perimeters defines the minimum number of vertical shells (i.e. walls) a
print will have. Unless the model requires single width walls it is generally
recommended to have a minimum of two perimeters as this gives some
insurance that if a subsection of the perimeter is not printed correctly then
the second perimeter will help cover it.
The upper and lowermost layers that sandwich the model are filled with
a Solid layers pattern. For the bottom layers the important factor to
consider is how the surface will look should there be a mistake whilst laying
down the first layer, and for this reason it is recommended to have at least
two bottom layers.
A similar consideration is required for the top layers. Because the
intermediate layers are likely to be filled with a pattern set less than 100%
then the covering layers will have to bridge this pattern and this can require
more than one pass to cover completely.

Figure 2.15: An example of insufficient top layers.

73

Slic3r

Another tip to consider: Setting the top solid layer to zero, and setting
the infill also to zero, will result in a hollow receptacle, ideal for turning
models into vases13 for example. Here manipulating the settings within
Slic3r can be used to generate different kinds of prints, and not only be
used to control surface accuracy.

Figure 2.16: Creating a vase from a solid model.
Infill. Fill density is defined on a scale of between 0 and 1, where 1 is
100% and 0.4 would be 40%. For the majority of cases it makes no sense to
100% fill the model with plastic, this would be a waste of material and take
a long time. Instead, most models can be filled with less material which is
then sandwiched between layers filled at 100% (see Solid layers above).
A density value of 0.4 is enough to give almost all models good
mechanical strength. A value of 0.2 is usually the minimum required to
support flat ceilings.
Slic3r offers several fill patterns which will be discussed in more depth
in subsection 2.5 - Infill Choices. Choosing a Fill pattern will depend
on the kind of model, the desired structural strength, print speed, and
personal taste. The more exotic fill methods are usually too slow and
unnecessarily complex for most use cases, and so most of the time the infill
13

http://slic3r.org/blog/tip-printing-vases

74

2.4. SIMPLE MODE

pattern is either rectilinear, line, or honeycomb. Honeycomb gives the
most strength but is slower than both rectilinear or line.
Support material. Printing a model from the bottom up, as with FDM,
means that any significant overhangs will be printed in the air, and most
likely droop or not print correctly. Choosing support material (Generate
support material) will add additional structures around the model which
will build up to then support the overhanging part. The Pattern spacing
option determines how dense the support material is printed.

Figure 2.17: An example of an object printed with support material.
Tip: It is sometimes worth considering altering the orientation of the
model in order to possibly reduce overhangs.
Raft layers will add additional layers underneath the model and stems
from the early days of 3D printing. It can help with prints without a heated
bed, or where the bed is not very flat, but it is usually not required and is
not recommended. The raft also requires post-processing to remove it.
Speed. In simple mode there are only three speed settings to consider:
• Perimeters - The outline of the model may benefit from being
printed slightly slower so that the outside skin of the print has fewer
blemishes.

75

Slic3r

• Infill - As the infill is hidden this can be extruded a little faster.
Take care though not to go too fast as higher speeds results in thinner
extrusions, and this may affect how the extrusions bond.
• Travel - The jump between the end of one extrusion and the next
should usually be performed as quickly as the printer will allow in
order to minimise any mess caused by material oozing from the nozzle.
Brim. Brim width is used to add more perimeters to the first layer, as a
base flange, in order to provide more surface area for the print to stick to
the bed with in order to reduce warping (see §2.3). The brim is then cut
away once the print is finished and removed from the bed.

Figure 2.18: An example of brim.
Sequential Printing. This feature allows to compose a plate of objects but
have the printer complete each one individually before going back to Z
= 0 and starting with the next one. See the subsection about Sequential
Printing in the Advanced Topics chapter.
Filament Settings
The Filament Settings will normally be used infrequently, for example
on receipt of a new roll of filament.

76

2.4. SIMPLE MODE

Figure 2.19: Simple Mode: Filament Settings.
Filament. The Diameter setting will already have been filled from the
value given during the wizard (see p.60), but can be updated here.
The Extrusion multiplier setting allows the fine tuning of the
extrusion flow rate, and is is given as a factor, e.g. 1 means 100%, 1.5
would mean 150%. Whilst the value should ideally be set in the firmware
it can be useful to test slight changes to the rate by altering this value. It
varies the amount of plastic proportionally and should be changed in very
small steps (e.g. +/- 0.05) as the effects are very visible.
Temperature. These values are also filled from the wizard, but here the
opportunity exists to set the temperature for the first layer (see p.64).
Printer Settings
The Printer Settings will be updated the least, unless Slic3r is going to
be used for many printers, for example, in a 3D printer farm.

77

Slic3r

Figure 2.20: Simple Mode: Printer Settings.
Size and coordinates. The Bed size setting is taken from the wizard (see
p.58) and is only used for previewing the model in the plater.
The Print center is the point around which the print will be centered.
A Bed size of 200mmx200mm and a Print center of 100mmx100mm
would sit the print in the middle. Should it be desired to print away from
the center, because of a scratch in the glass perhaps, then this option should
be used.
Z offset can be used to compensate for an incorrectly calibrated Z
end-stop. If the nozzle stops slightly too far from the bed, then adding a

78

2.4. SIMPLE MODE

negative value will offset all layers by that amount. The correct solution
however is to fix the end-stop itself.
The optimal Z endstop position is where the nozzle tip barely touches
the surface of the bed when homed. A sheet of paper makes a good gauge
for this very small distance. It is not recommended to use this setting to
try and improve layer adhesion, by ”squashing” the bottom layer into the
bed, instead look at the suggestions in subsection 2.3.
Firmware. As selected in the wizard (see p.57), G-code flavour defines
the dialect of G-code generated.
Extruder. Nozzle diameter was defined in the wizard (see p.59).
Retraction. Unless the material being extruded has a very high viscosity
it may ooze between extrusions due to gravity. This can be remedied by
actively retracting the filament between extrusions. Setting the Length
parameter to a positive value will cause the filament to be reversed by that
many millimeters before travel. The retraction will then be compensated
for by the same amount after the travel move, before starting the new
extrusion path.
A value of between 1 and 2mm is usually recommended. Bowden
extruders may need up to 4 or 5mm due to the hysteresis introduced by
the tube. Setting the Lift Z parameter to a positive value will raise the
entire extruder on the Z axis by that many millimeters during each travel.
This can be useful to ensure the nozzle will not catch on any already laid
filament, however it is usually not necessary and will slow the print speed.
A value of 0.1mm is usually sufficient.
Start, End and Layer Chance G-codes. Custom G-code commands can be
run before a print starts and after a print finishes.
Placeholders can be inserted in the G-code commands14 . For example
[next_extruder] would return the index of the next extruder.
The RepRap wiki is a good resource to learn about the variety of Gcodes available: http://reprap.org/wiki/G-code.
Note: Be sure to check that a given G-code is valid for your firmware.
14

https://github.com/alexrj/Slic3r/wiki/FAQ#what-placeholders-can-i-use-incustom-g-code

79

Slic3r

The codes specified in Start G-code are inserted at the beginning of the
output file, directly after the temperature control commands for extruder
and bed. Note that if temperature control commands are specified (M104
and M190) then these will replace the temperature G-codes introduced by
the Filament settings.
Some common G-codes to use before the print starts are:
• G28 - Homes all the axes.
Some common G-codes to use after the print ends are:
• M104 S0 - Sets the extruder temperature to zero.
• M140 S0 - Sets the heated bed temperature to zero.
• G28 X0 - Home the X axis.
• M84 - Disables the motors.

2.5

Expert Mode

Speed
Once the printer is reliably producing good quality prints it may be
desirable to increase the speed. Doing this provides several benefits, the
most obvious of which is that the results are produced quicker, but also
faster print times can be utilised in producing more layers, i.e. lower layer
height, thus improving perceived print quality. An additional benefit is
that a faster travel movement, between extrusions, can reduce the effects
of oozing.
The best approach is to increment the various speed parameters in
small steps and observe the effect each change has on print quality. Travel
speed is a safe starting point, and it is not unrealistic to attain speeds
of up to 250mm/s (if your printer can handle it). Adjusting the speed of
perimeters, infill is available in simple mode, and the general rule is to have
the perimeter go a little slower than the infill in order to reduce possible
blemishes on the surface (infill can be faster because slight gaps will not
matter as much).
Expert mode offers more parameters to fine tune printer speeds. Differentiation between external, small and other perimeters, infill locations,

80

2.5. EXPERT MODE

and bridges and gaps are available, as well as the ability to slow down for
the first layer.

Figure 2.21: Expert mode speed options.
Where indicated a value can be given in percentage. This is in relation
to the preceding value, e.g. 50% solid infill would be half of the value
defined for infill.
A few general guidelines for each option:
• Perimeters - In expert mode this parameter can be increased slightly
as the External perimeters option can be used to ensure blemish
free external faces.

81

Slic3r

• Small perimeters - Meant for holes, islands and fine details, a slower
speed here is recommended.
• External perimeters - A slightly slower value may ensure cleaner
surfaces.
• Infill - As fast as you can without compromising the integrity of the
fill structure. Faster extrusions can break and result in weak spots.
• Solid infill - The bottom of the model, and any additional solid
layers is usually slightly slower than infill but faster than perimeters.
• Top solid infill - Allow time for the extrusion to cleanly cover
the previous top layers and result in a tidy top surface. The last few
layers should have bridged the infill structure nicely, preparing the
way for a neat finish.
• Support material - Generally support structures are quick and dirty,
and so long as the base is adequately supported they can be built as
quickly as they can.
• Bridges - Having the extrusion span distances depends on the
material and cooling. Going too slow will result in sagging, too fast
will result in broken strands. Experimentation is the key here, but
generally bridging runs slower than perimeters.
• Gap fill - Filling in small gaps results in the extruder quickly
oscillating and the resulting shaking and resonance could have a
detrimental affect on the printer. A smaller value here can guard
against this. A setting of zero disables gap filling completely.
• Travel - As fast as your printer will allow in order to minimise ooze.
• First layer speed - As mentioned in subsection 2.3, the first layer is
important to lay down correctly, and a slower pace helps enormously.
Setting a value of 50%, or even less, can really help.
Acceleration control is an advanced setting allowing acceleration
settings for perimeters, infill, bridge, as well as a default setting, to be
made. Deciding which values to set depends on the capabilities of the
machine. Any settings within the firmware may be a good starting point.

82

2.5. EXPERT MODE

Take into account any restrictions enforced by the firmware as many
have settings for the maximum safe speed of each axis.

83

Slic3r

Infill Patterns and Density
There are several considerations when choosing an infill pattern: object
strength, time and material, personal preference. It can be inferred that a
more complex pattern will require more moves, and hence take more time
and material.

Figure 2.22: Infill pattern settings.
Slic3r offers several infill patterns, four regular, and three more exotic
flavours. The numbers given in brackets below each figure are a rough
estimate of material used and time taken for a simple 20mm cube model15 .
Note that this is only indicative, as model complexity and other factors
will affect time and material.

Figure 2.23: Infill pattern: Line (344.51mm / 5m:20s)

Figure 2.24: Infill pattern: Rectilinear (350.57mm / 5m:23s)
15

Taken from http://gcode.ws

84

2.5. EXPERT MODE

Figure 2.25: Infill pattern: Concentric (351.80mm / 5m:30s)

Figure 2.26: Infill pattern: Honeycomb (362.73mm / 5m:39s)

Figure 2.27: Infill pattern: Hilbert Curve (332.82mm / 5m:28s)

Figure 2.28: Infill pattern: Archimedean Chords (333.66mm / 5m:27s)

85

Slic3r

Figure 2.29: Infill pattern: Octagram Spiral (318.63mm / 5m:15s)
Certain model types are more suited for a particular pattern, for example organic versus mechanical types. Figure 2.30 shows how a honeycomb
fill may suit this mechanical part better because each hexagon bonds with
the same underlying pattern each layer, forming a strong vertical structure.

Figure 2.30: Infill pattern comparison in a complex object. Left to Right:
honeycomb, line
Most models require only a low density infill, as providing more than,
say, 50% will produce a very tightly packed model which uses more material
than required. For this reason a common range of patterns is between 10%
and 30%, however the requirements of the model will determine which
density is best. Figure 2.31 shows how the patterns change as the density
increases.

86

2.5. EXPERT MODE

Figure 2.31: Infill patterns at varying densities.
Left to Right:
20%,40%,60%,80%. Top to Bottom: Honeycomb, Concentric, Line, Rectilinear, Hilbert Curve, Archimedean Chords, Octagram Spiral

87

Slic3r

Infill Optimization
Slic3r contains several advanced infill settings which can help produce
better extrusions.

Figure 2.32: Infill advanced settings.

• Infill every n layers - Will produce sparse vertical infill by
skipping a set number of layers. This can be used to speed up print
times where the missing infill is acceptable.
• Only infill where needed - Slic3r will analyse the model and
choose where infill is required in order to support internal ceilings
and overhangs. Useful for reducing time and materials.
• Solid infill every n layers - Forces a solid fill pattern on the
specified layers. Zero will disable this option.
• Fill angle - By default the infill pattern runs at 45° to the model to
provide the best adhesion to wall structures. Infill extrusions that run
adjacent to perimeters are liable to de-laminate under stress. Some
models may benefit from rotating the fill angle to ensure the optimal
direction of the extrusion.
• Solid infill threshold area - Small areas within the model are
usually best off being filled completely to provide structural integrity.
This will however take more time and material, and can result in parts
being unnecessarily solid. Adjust this option to balance these needs.

88

2.5. EXPERT MODE

• Only retract when crossing perimeters - Retracting, to prevent
ooze, is unnecessary if the extruder remains within the boundaries
of the model. Care should be taken if the print material oozes
excessively, as not retracting may result in enough material loss to
affect the quality of the subsequent extrusion. However, most modern
printers and materials rarely suffer from such extreme ooze problems.
• Infill before perimeters - Reverses the order in which the layer
is printed. Usually the perimeter is laid down initially, followed by
the infill, and this is usually the preferable as the perimeter acts as a
wall containing the infill.

Fighting Ooze
Unless the material being extruded has a very high viscosity it will ooze
from the nozzle in between extrusions. There are several settings in Slic3r
to which can help to remedy this.
The retraction settings, found in the Printer tab, tell the printer to pull
back the filament between extrusion moves. This can alleviate the pressure
in the nozzle, thus reducing ooze. After the subsequent travel move the
retraction is reversed to prepare the extruder for the next extrusion.

Figure 2.33: Retraction settings.

• Length - The number of millimeters to retract. Note that the
measurement is taken from the raw filament entering the extruder.
A value of between 1 and 2mm is usually recommended. Bowden

89

Slic3r

extruders may need up to 4 or 5mm due to the hysteresis introduced
by the tube.
• Lift Z - Raises the entire extruder on the Z axis by that many
millimeters during each travel. This can be useful to ensure the nozzle
will not catch on any already laid filament, however it is usually not
necessary and will slow the print speed. A value of 0.1mm is usually
sufficient.
• Speed - The speed at which the extruder motor will pull back the
filament. The value should be set to as quick as the extruder can
handle without skipping steps, and it is worth experimenting with
this value to find the quickest retraction possible.
• Extra length on restart - Adds an extra length of filament after
the retraction is compensated after the travel move. This setting
is rarely used, however should the print show signs of not having
enough material after travel moves then it may be useful to add a
small amount of additional material.
• Minimum travel after retraction - Triggering a retraction after
very short moves is usually unnecessary as the amount of ooze is
usually insignificant and it slows down the print times. Set the
number of millimeters minimum distance the nozzle must move before
considering a retraction. If the printer handles ooze well this can be
increased to 5 or 6mm.
• Retract on layer change - Movement along the Z axis must also
be considered when dealing with oozing, otherwise blobs may occur.
It is recommended to leave this setting on.
• Wipe before retract - Moves the nozzle whilst retracting so as to
reduce the chances of a blob forming.
Additionally there are several settings in the Print tab which can help
control oozing.
• Only retract when crossing perimeters (Infill) - Tells Slic3r to
only retract if the nozzle will cross the threshold of the current island
being extruded. Slight ooze within the walls of a part are not seen
and can usually be accepted.

90

2.5. EXPERT MODE

• Avoid crossing perimeters (Layers and perimeters - Advanced)
- Will force the nozzle to follow perimeters as much as possible
to minimise the number of times it must cross them when moving
around, and between, islands. This has a negative impact on both
G-code generation and print times.
• Randomize starting points (Layers and perimeters - Vertical
shells) - As the extruder moves up to the start of the next layer
any ooze can result in blobs. If the same start point is used for every
layer then a seam can form the length of the object. This setting will
move the start point to a different location for each layer.
See also subsection: Sequential Printing, on page 112 for another
technique which can minimise strings forming between objects.

Skirt
The Skirt setting adds an extrusion a short distance away from the
perimiter of the object. This can ensure that the material is flowing
smoothly from the extruder before it starts on the model proper.

Figure 2.34: Skirt settings.

• Loops - How many circuits should be completed before starting on
the model. One loop is usually sufficient.
• Distance from object - The millimeters between the object and
the skirt. The default of 6mm is usually sufficient.
• Skirt height - The number of layers to lay down a skirt for. For
ensuring the material is flowing smoothly, one layer is sufficient,

91

Slic3r

however the skirt function can also be used to build walls around
the object in case it should be protected from drafts.
• Minimum extrusion length - Dictates a minimum number of millimeters that the skirt should be, should the loop around the object
not be enough.

Cooling
Temperature plays a key part in determining print quality. Too hot and
the material deforms, too cool and layer adhesion may be problematic.
Applying cooling will allow the freshly deposited material to solidify enough
to provide a good base for the next layer, helping with overhangs, small
details and bridges.
There are two main techniques for cooling: adding a fan and slowing
down the print speed. Slic3r may choose to use both techniques, using a
fan first, and then slowing down the print if the layer time is too fast.

Figure 2.35: Cooling strategy.

92

2.5. EXPERT MODE

Figure 2.35 shows the strategy adopted by Slic3r. Reading from right
to left, when the minimum fan threshold (#2) is reached the fan is turned
on. This increases in intensity as the layer time decreases. The print
speed remains constant until the estimated print time drops below a certain
threshold (#1), this is when the print speed is reduced until it reaches it’s
minimum value.
Fans
Most electronics and firmware allow the addition of a fan via a spare
connector. These can then be instructed with G-code, from Slic3r, to turn
on or off as the model requires, and to rotate at different speeds.
Care should be taken with the positioning of the fan so that it does
not cool any heated bed more than necessary. It should also not cool the
heater block of the hot-end so as not to force it to do more work and waste
energy. The air movement should aim for the nozzle tip, flowing over the
freshly extruded material.
A duct may help in guiding the flow correctly, and there are several
designs available online, for a wide variety of printers.
Slowing Down
Slic3r can tell the printer to slow down if the estimated layer time is above
a certain threshold.
Care must be taken as the intended effect could be mitigated by the
nozzle not moving far enough away from the fresh extrusion, a problem
with small, detailed layers. For this reason it is usually recommended to
use a fan where possible.
Configuring
In simple mode Slic3r will attempt to choose the optimal settings for both
fans and speed. Expert mode gives more granular options.

93

Slic3r

Figure 2.36: Cooling advanced settings.

• Fan speed - Determines the minimum and maximum speeds - useful
for fans that run too fast by default.
• Bridges fan speed - As the material stretches over wide gaps, it
makes sense to try and cool it as much as possible, therefore a full
fan speed is recommended.
• Disable fan for first n layers - Section 2.3 detailed how
important the first layer is, and so it makes sense not to apply the
fan until sure the print is securely attached to the bed. Keeping the
fan turned off for the first two or three layers is a good idea.
• Keep fan always on - Overrides any other choices and has the fan
run continuously, at least at the minimum speed setting. This can be
useful when printing with PLA, but is not recommended for ABS.
• Enable fan if print time is below t seconds - Triggers the fan
if the layer will be completed within the given number of seconds.

94

2.5. EXPERT MODE

• Slow down if layer print time is below t seconds - Slows
down the print if the layer will be completed within the given number
of seconds.
• Min print speed - A lower limit on how slowly a layer can be printed.

Support Material
Generally, most 3D models will print with overhanging parts by up to a
certain degree. The angle is determined by several factors, most notably
layer height and extrusion width, and is usually around 45°. For models
with larger overhangs a support structure may have to be printed below it.
This incurs the use of more material, longer print times, and post printing
clean-up.

Figure 2.37: Support structure options.
The first thing to do is activate the support material option by checking
the Generate support material box. Providing a value of zero to the
Overhang threshold parameter tells Slic3r to detect places to provide

95

Slic3r

support automatically, otherwise the degrees given will be used. Support
generation is a relatively complex topic, and there are several aspects
which determine the optimal support, it is strongly recommended to set
the threshold to zero and allow Slic3r to determine the support required.
Small models, and those with small footprints, can sometimes break or
detach from the bed. Therefore the Enforce support option will cause
support structures to be printed for the given number of layers, regardless
of the angle threshold value.
To demonstrate the infill patterns the minimug model was tilted by 45°
along the x axis, as shown in figure 2.38.

Figure 2.38: Minimug model, tilted 45°.
As with infill, there are several patterns available for the support
structure.

96

2.5. EXPERT MODE

Figure 2.39: Support infill pattern: Rectilinear

Figure 2.40: Support infill pattern: Rectilinear Grid

Figure 2.41: Support infill pattern: Honeycomb
Pattern Spacing determines the distance between support lines, and
is akin to infill density apart from being defined only in mm. If changing
this attribute take into account the width of the support extrusion and the
amount of support material that will adhere to the object.
Care should be taken to choose a support pattern which matches the
model, where the support material attaches perpendicularly to the wall of
the object, rather than in parallel, so it will be easy to remove. If the
support structure does run along the length of a wall then the Pattern
Angle option allows the direction of the support lines to be rotated.

97

Slic3r

Figure 2.42: Example of pattern angle rotated 45°.

Multiple Extruders
A printer with more than one extruder can be used in different ways: The
additional extruder could print a different color or material; or it could be
assigned to print particular features, such as infill, support or perimeters.
Multi-material printing requires a suitably designed object usually
written in AMF format as this can handle multiple materials (see Model
Formats in §2.3). Details on how to create such a file are given below.
Configuring Extruders
In the Printer Settings tab there is an Extruders option, under
Capabilities, which allows the number of extruders to be defined. Incrementing this value will dynamically add another extruder definition to
the left-hand pane.

98

2.5. EXPERT MODE

Figure 2.43: Multiple extruder options - Printer Settings Tab (General).
Note the two extruders defined in the left-hand pane.
Each extruder can be configured as usual, however there are additional
settings which must be set which are particular to multi-extruder setups.

Figure 2.44: Multiple extruder options - Printer Settings Tab (Extruder).
The Extruder offset is to be used should the firmware not handle
the displacement of each additional nozzle. Your firmware documentation
should tell you if this is the case. Each additional extruder is given an
offset in relation to the first one. If the firmware does handle this then all
offsets can remain at 0,0.

99

Slic3r

Because the secondary extruder will be dormant whilst the first is
working, and vice-versa, it is important that the material is sufficiently
retracted to stop oozing. As with the regular retraction settings (see p.89)
the Length options is measured from the raw filament entering the extruder.
Assigning Filaments
When a printer profile with multiple extruders has been selected the Plater
tab allows the selection of a different filament for each extruder.

Figure 2.45: Plater with multiple filament options.
Assigning Extruders for Single-material Objects
For single material prints, where the secondary extruder is to be tasked with
a particular extrusion, the Multiple Extruders subsection of the Print
Settings tab gives the ability to assign an extruder to each extrusion type.

100

2.5. EXPERT MODE

Figure 2.46: Multiple extruder options - Print Settings Tab.
Configuring Tool Changes
The Custom G-code subsection of the Printer Settings tab has an option
for inserting G-code between tool changes. As with all custom G-code
subsections, placeholder variables can be used to reference Slic3r settings.
This includes the [previous_extruder] and [next_extruder] variables.

Figure 2.47: Multiple extruder options - Tool change G-code.

101

Slic3r

Printing Multi-material Objects
If a multi-material AMF file already exists, because the CAD program can
export such a format, then this can be loaded into Slic3r in the usual way.
The mapping between object materials and extruders is sequential, i.e. the
first material is assigned to the first extruder, etc.
Generating multi-material AMF files
Slic3r has the feature to combine multiple STL files into a multi-material
AMF file.
• Split the original design into the separate parts within the CAD
program, and export each part as STL.
• Within Slic3r, choose Combine multi-material STL files... from
the File menu.
• When prompted with a file dialog, choose the first STL, which will
be assigned the first material (and hence the first extruder). Click
Open to be prompted for the next STL, and so on until each STL is
assigned a material. To signal there are no more STL files, choose
Cancel.
• The following file dialog prompts for the location and name of the
AMF file.
Once generated the file can be loaded and printed as described above.

102

2.5. EXPERT MODE

Extrusion Width

Figure 2.48: Extrusion widths options.
One reason for modifying the extrusion width has already been discussed:
increasing first layer extrusion width in order to improve bed adhesion (see
p.65). There are some further cases where it may be beneficial to modify
extrusion widths.
• Perimeter - A lower value will produce thinner extrusions which in
turn will produce more accurate surfaces.
• Infill and Solid Infill - A thicker extrusion for infill will produce
faster prints and stronger parts.
• Top infill - A thinner extrusion will improve surface finish and
ensure corners are tightly filled.
• Support material - As with the infill options, a thicker extrusion
will speed up print time.

103

Slic3r

It is important to remember that if the extrusion width is expressed as
a percentage then this is computed from the Layer height property, and
not the Default extrusion width setting.

Variable Layer Height
Slic3r gives the ability to adjust the layer height between arbitrary positions
along the Z axis. That is, parts of the model could be printed with a
coarse layer height, for example vertical subsections, and other parts could
be printed with a finer layer height, for example sloping gradients where
layering appears more pronounced.
The model in fig. 2.49 gives a rudimentary example of where variable
layer heights could be used to improve print quality. The walls of the
structure need not be rendered in high definition for acceptable quality,
however the sloping roof shows layer artifacts as the layer height of 0.4mm
is too coarse, particularly for the very top, which is flattened. This is shown
in the G-Code rendering in fig. 2.50.

Figure 2.49: Example model highlighting use case for variable layer heights.

104

2.5. EXPERT MODE

Figure 2.50: Example with normal layer height.
The variable layer height options are available by double clicking on a
part name in the Plater window. This will cause a pop-up window to be
displayed which contains two tabs. The first gives some information about
the model, as shown in fig. 2.51.

105

Slic3r

Figure 2.51: Variable layer height options - Info.
It is worth noting the height of the model, as this will be useful when
calculating the maximum Z height.
The second tab (fig. 2.52) presents a table where each row defines a
layer height for a particular range along the Z axis, given in millimeters.
In this example the walls of the model are printed at 0.4mm, the steeper
parts of the roof are printed at 0.2mm, and the less steep at 0.15mm. Note
that each range divides exactly by the given layer height so there are no
”gaps” between subsections.

106

2.5. EXPERT MODE

Figure 2.52: Variable layer height options - Layers.
The resulting G-Code (fig. 2.53) shows a higher definition which should
result in a higher quality print.

Figure 2.53: Example with variable layer height.

107

Slic3r

Fig. 2.54 shows the example model printed. The print on the left has
0.4mm layer height throughout, whereas the print on the right has the
variable layer height.

Figure 2.54: Example print with variable layer height.
An additional feature of the variable layers height option is that by
entering a zero for a range that part of the model will not be printed. Fig.
2.55 shows the G-Code where layers between 0 and 4mm are skipped. This
is a useful way of dividing a tall model into multiple, shorter subsections
which can be printed individually and assembled afterwards.

Figure 2.55: Example with skipped layers.

108

2.6. CONFIGURATION ORGANIZATION

2.6

Configuration Organization

There are two ways in which to organize the configuration settings: exporting and importing the configuration settings, and profiles. The former is
available in both simple and expert mode, whereas profiles is only available
in expert mode.

Exporting and Importing Configuration
The current set of configuration options can be simply exported via the
Export Config File menu option. This saves all the values into a text file
with a .ini extension. Previously saved files can be loaded with the Load
Config menu option.
This gives a rudimentary means to store different configuration settings
for different needs. For example a set with slightly faster print speeds, or a
different infill pattern. However this way of organizing things will quickly
become frustrating, as each minor change to a parameter may have to be
duplicated across many configurations. For this reason, profiles are a more
suitable way of managing multiple configurations.
This method also allows configuration to be transferred between machines, or stored remotely.

Profiles
After a few prints it will become apparent that it is worth having a set
of configuration options to choose from, and that some parameters change
at different rates as others. In expert mode, profiles can be created for
Print, Filament and Printer settings, with the expectation that the printer
settings change least often, filament rarely, and the print settings could be
changed for each model. These different profiles can be mixed and matched
as desired, and can be selected either in their respective tabs, or directly
from the plater.
Creating Profiles
Open the desired tab and change the settings as necessary. Once satisfied,
click the save icon to the left above the setting titles, and give a suitable
name when prompted.

109

Slic3r

Figure 2.56: Saving a profile.
Profiles can be deleted by choosing the profile to delete and clicking the
red delete button next to the save button.

Figure 2.57: Deleting a profile.

110

2.7. REPAIRING MODELS

2.7

Repairing Models

If the 3D mesh described in the model contains holes, or edges are
misaligned (known as being non-manifold), then Slic3r may have problems
working on it. Slic3r will attempt to fix any problems it can, but some
problems are out of its reach. If the application complains that a model
cannot be sliced correctly then there are several options available, and the
ones described here are all free at the time of writing.
FreeCAD Freecad16 is a comprehensive, and free, CAD program which
comes with a mesh module, in which repairs to degenerate models can be
made. The following steps outline how a problem model file can be analysed
and repaired.

Figure 2.58: FreeCAD part repair.
• Start FreeCAD and from the start splash page choose Working with
Meshes.
• Load the model by dragging and dropping it onto the workspace or
via the File menu. A small message in the bottom left corner will
indicate if the model appears to have problems.
16

http://sourceforge.net/projects/free-cad

111

Slic3r

• From the menu choose Meshes->Analyze->Evaluate & Repair mesh
to bring up the repair options dialog.
• From the options dialog choose the loaded mesh, then perform each
analysis be clicking the Analyze button by each problem type, or
select Repetitive Repair at the bottom to perform all checks.
If a corresponding problem is detected the Repair button becomes
enabled.
• For each desired repair hit the Repair button.
• It is important to review the effect the repair script has made to the
model. It may be the case that the script damages the file, rather
than repair, for example by removing important triangles.
• Export the repaired model via the Export menu option or context
menu.

2.8

Advanced Topics

Sequential Printing
When printing several objects at once it can be useful to print each one
separately as this will minimise oozing and strings running between the
prints. It will also decrease the risk of a problem ruining the entire print if one part detaches or fails in some way, it will not be dragged into other
parts of the print during each layer.

Figure 2.59: Sequential printing options.
Care has to be taken that the nozzle and extruder does not interfere
with already printed parts. Slic3r should warn if it detects the nozzle or
extruder will collide with a part, but double check that the layout of the

112

2.8. ADVANCED TOPICS

parts will not cause problems. The Extruder clearance parameters help
Slic3r detect potential collisions:
• Radius - The clearance that should be given around the extruder.
Take care if the extruder is not mounted centrally - take the largest
safe value.
• Height - The vertical distance between the nozzle tip and the X axis
rods, or lowest part which may interfere with a finished print.

Figure 2.60: The clearance cylinder around an extruder.

113

Slic3r

Command Line Usage
Slic3r can also be used from the command line instead of via the GUI, as
part of a script, or as part of another tool, such as Printrun17 .
All options found in the GUI can be used from the command line in the
form of switch parameters. The latest version of these are given below, and
the most up-to-date information can be found by issuing the command:
perl slic3r.pl --help
Preset configurations can be loaded from a .ini file using the --load
option, and options can be overridden further on the command line, e.g.
perl slic3r.pl --load config.ini --layer-height 0.25
file.stl
Command Line Options
Usage: slic3r.pl [ OPTIONS ] file.stl
--help
--version
--save 
--load 

Output this usage screen and exit
Output the version of Slic3r and exit
Save configuration to the specified file
Load configuration from the specified file. It can be used
more than once to load options from multiple files.
-o, --output  File to output gcode to (by default, the file will be saved
into the same directory as the input file using the
--output-filename-format to generate the filename)
-j, --threads  Number of threads to use (1+, default: 2)
GUI options:
--no-plater
--gui-mode

Disable the plater tab
Overrides the configured mode (simple/expert)

Output options:
--output-filename-format
Output file name format; all config options enclosed in brackets
will be replaced by their values, as well as [input_filename_base]
and [input_filename] (default: [input_filename_base].gcode)
--post-process
Generated G-code will be processed with the supplied script;
call this more than once to process through multiple scripts.
--export-svg
Export a SVG file containing slices instead of G-code.
-m, --merge
If multiple files are supplied, they will be composed into a single
print rather than processed individually.
Printer options:
--nozzle-diameter
--print-center
--z-offset
17

Diameter of nozzle in mm (default: 0.5)
Coordinates in mm of the point to center the print around
(default: 100,100)
Additional height in mm to add to vertical coordinates
(+/-, default: 0)

https://github.com/kliment/Printrun

114

2.8. ADVANCED TOPICS

--gcode-flavor

The type of G-code to generate
(reprap/teacup/makerbot/sailfish/mach3/no-extrusion, default: reprap)
--use-relative-e-distances Enable this to get relative E values
--gcode-arcs
Use G2/G3 commands for native arcs (experimental, not supported
by all firmwares)
--g0
Use G0 commands for retraction (experimental, not supported by all
firmwares)
--gcode-comments
Make G-code verbose by adding comments (default: no)
--vibration-limit Limit the frequency of moves on X and Y axes (Hz, set zero to disable;
default: 0)
Filament options:
--filament-diameter Diameter in mm of your raw filament (default: 3)
--extrusion-multiplier
Change this to alter the amount of plastic extruded. There should be
very little need to change this value, which is only useful to
compensate for filament packing (default: 1)
--temperature
Extrusion temperature in degree Celsius, set 0 to disable (default: 200)
--first-layer-temperature Extrusion temperature for the first layer, in degree Celsius,
set 0 to disable (default: same as --temperature)
--bed-temperature Heated bed temperature in degree Celsius, set 0 to disable (default: 0)
--first-layer-bed-temperature Heated bed temperature for the first layer, in degree Celsius,
set 0 to disable (default: same as --bed-temperature)
Speed options:
--travel-speed
Speed of non-print moves in mm/s (default: 130)
--perimeter-speed
Speed of print moves for perimeters in mm/s (default: 30)
--small-perimeter-speed
Speed of print moves for small perimeters in mm/s or % over perimeter speed
(default: 30)
--external-perimeter-speed
Speed of print moves for the external perimeter in mm/s or % over perimeter speed
(default: 70%)
--infill-speed
Speed of print moves in mm/s (default: 60)
--solid-infill-speed Speed of print moves for solid surfaces in mm/s or % over infill speed
(default: 60)
--top-solid-infill-speed Speed of print moves for top surfaces in mm/s or % over solid infill speed
(default: 50)
--support-material-speed
Speed of support material print moves in mm/s (default: 60)
--bridge-speed
Speed of bridge print moves in mm/s (default: 60)
--gap-fill-speed
Speed of gap fill print moves in mm/s (default: 20)
--first-layer-speed Speed of print moves for bottom layer, expressed either as an absolute
value or as a percentage over normal speeds (default: 30%)
Acceleration options:
--perimeter-acceleration
Overrides firmware's default acceleration for perimeters. (mm/s^2, set zero
to disable; default: 0)
--infill-acceleration
Overrides firmware's default acceleration for infill. (mm/s^2, set zero
to disable; default: 0)
--bridge-acceleration
Overrides firmware's default acceleration for bridges. (mm/s^2, set zero
to disable; default: 0)
--default-acceleration
Acceleration will be reset to this value after the specific settings above

115

Slic3r

have been applied. (mm/s^2, set zero to disable; default: 130)
Accuracy options:
--layer-height
Layer height in mm (default: 0.4)
--first-layer-height Layer height for first layer (mm or %, default: 0.35)
--infill-every-layers
Infill every N layers (default: 1)
--solid-infill-every-layers
Force a solid layer every N layers (default: 0)
Print options:
--perimeters
Number of perimeters/horizontal skins (range: 0+, default: 3)
--top-solid-layers Number of solid layers to do for top surfaces (range: 0+, default: 3)
--bottom-solid-layers Number of solid layers to do for bottom surfaces (range: 0+, default: 3)
--solid-layers
Shortcut for setting the two options above at once
--fill-density
Infill density (range: 0-1, default: 0.4)
--fill-angle
Infill angle in degrees (range: 0-90, default: 45)
--fill-pattern
Pattern to use to fill non-solid layers (default: honeycomb)
--solid-fill-pattern Pattern to use to fill solid layers (default: rectilinear)
--start-gcode
Load initial G-code from the supplied file. This will overwrite
the default command (home all axes [G28]).
--end-gcode
Load final G-code from the supplied file. This will overwrite
the default commands (turn off temperature [M104 S0],
home X axis [G28 X], disable motors [M84]).
--layer-gcode
Load layer-change G-code from the supplied file (default: nothing).
--toolchange-gcode Load tool-change G-code from the supplied file (default: nothing).
--extra-perimeters Add more perimeters when needed (default: yes)
--randomize-start
Randomize starting point across layers (default: yes)
--avoid-crossing-perimeters Optimize travel moves so that no perimeters are crossed (default: no)
--external-perimeters-first Reverse perimeter order. (default: no)
--only-retract-when-crossing-perimeters
Disable retraction when travelling between infill paths inside the same island.
(default: no)
--solid-infill-below-area
Force solid infill when a region has a smaller area than this threshold
(mm^2, default: 70)
--infill-only-where-needed
Only infill under ceilings (default: no)
--infill-first
Make infill before perimeters (default: no)
Support material options:
--support-material Generate support material for overhangs
--support-material-threshold
Overhang threshold angle (range: 0-90, set 0 for automatic detection,
default: 0)
--support-material-pattern
Pattern to use for support material (default: rectilinear)
--support-material-spacing
Spacing between pattern lines (mm, default: 2.5)
--support-material-angle
Support material angle in degrees (range: 0-90, default: 0)
--support-material-interface-layers
Number of perpendicular layers between support material and object
(0+, default: 0)
--support-material-interface-spacing
Spacing between interface pattern lines
(mm, set 0 to get a solid layer, default: 0)

116

2.8. ADVANCED TOPICS

--raft-layers
Number of layers to raise the printed objects by (range: 0+, default: 0)
--support-material-enforce-layers
Enforce support material on the specified number of layers from bottom,
regardless of --support-material and threshold (0+, default: 0)
Retraction options:
--retract-length
Length of retraction in mm when pausing extrusion (default: 1)
--retract-speed
Speed for retraction in mm/s (default: 30)
--retract-restart-extra
Additional amount of filament in mm to push after
compensating retraction (default: 0)
--retract-before-travel
Only retract before travel moves of this length in mm (default: 2)
--retract-lift
Lift Z by the given distance in mm when retracting (default: 0)
--retract-layer-change
Enforce a retraction before each Z move (default: yes)
--wipe
Wipe the nozzle while doing a retraction (default: no)
Retraction options for multi-extruder setups:
--retract-length-toolchange
Length of retraction in mm when disabling tool (default: 1)
--retract-restart-extra-toolchnage
Additional amount of filament in mm to push after
switching tool (default: 0)
Cooling options:
--cooling
Enable fan and cooling control
--min-fan-speed
Minimum fan speed (default: 35%)
--max-fan-speed
Maximum fan speed (default: 100%)
--bridge-fan-speed Fan speed to use when bridging (default: 100%)
--fan-below-layer-time Enable fan if layer print time is below this approximate number
of seconds (default: 60)
--slowdown-below-layer-time Slow down if layer print time is below this approximate number
of seconds (default: 30)
--min-print-speed
Minimum print speed (mm/s, default: 10)
--disable-fan-first-layers Disable fan for the first N layers (default: 1)
--fan-always-on
Keep fan always on at min fan speed, even for layers that don't need
cooling
Skirt options:
--skirts
--skirt-distance

Number of skirts to draw (0+, default: 1)
Distance in mm between innermost skirt and object
(default: 6)
--skirt-height
Height of skirts to draw (expressed in layers, 0+, default: 1)
--min-skirt-length Generate no less than the number of loops required to consume this length
of filament on the first layer, for each extruder (mm, 0+, default: 0)
--brim-width
Width of the brim that will get added to each object to help adhesion
(mm, default: 0)
Transform options:
--scale
Factor for scaling input object (default: 1)
--rotate
Rotation angle in degrees (0-360, default: 0)
--duplicate
Number of items with auto-arrange (1+, default: 1)
--bed-size
Bed size, only used for auto-arrange (mm, default: 200,200)
--duplicate-grid
Number of items with grid arrangement (default: 1,1)
--duplicate-distance Distance in mm between copies (default: 6)

117

Slic3r

Sequential printing options:
--complete-objects When printing multiple objects and/or copies, complete each one before
starting the next one; watch out for extruder collisions (default: no)
--extruder-clearance-radius Radius in mm above which extruder won't collide with anything
(default: 20)
--extruder-clearance-height Maximum vertical extruder depth; i.e. vertical distance from
extruder tip and carriage bottom (default: 20)
Miscellaneous options:
--notes
Notes to be added as comments to the output file
--resolution
Minimum detail resolution (mm, set zero for full resolution, default: 0)
Flow options (advanced):
--extrusion-width Set extrusion width manually; it accepts either an absolute value in mm
(like 0.65) or a percentage over layer height (like 200%)
--first-layer-extrusion-width
Set a different extrusion width for first layer
--perimeter-extrusion-width
Set a different extrusion width for perimeters
--infill-extrusion-width
Set a different extrusion width for infill
--solid-infill-extrusion-width
Set a different extrusion width for solid infill
--top-infill-extrusion-width
Set a different extrusion width for top infill
--support-material-extrusion-width
Set a different extrusion width for support material
--bridge-flow-ratio Multiplier for extrusion when bridging (> 0, default: 1)
Multiple extruder options:
--extruder-offset Offset of each extruder, if firmware doesn't handle the displacement
(can be specified multiple times, default: 0x0)
--perimeter-extruder
Extruder to use for perimeters (1+, default: 1)
--infill-extruder
Extruder to use for infill (1+, default: 1)
--support-material-extruder
Extruder to use for support material (1+, default: 1)

118

2.8. ADVANCED TOPICS

Post-Processing Scripts
There may be times when the G-Code generated by Slic3r has to be tweaked
or modified after it has been created. For this reason there exists the ability
to run arbitrary scripts as part of the final steps in the slicing process18 .
In the Output options subsection of the Print Settings tab lies the
Post-processing scripts option. The absolute path to each script can
be added, separated by semicolons. Each scripts should be recognised by
the host system, and be executable.

Figure 2.61: Post-processing script option.
Each script will be passed the absolute path of the G-Code file that
Slic3r generates. All Slic3r configuration options are made available to the
scripts by way of environment variables. These all begin with SLIC3R_.
The following script would write out all Slic3r options to standard output:
#!/bin/sh
echo "Post-processing G-code file: $*"
env | grep ^SLIC3R

Figure 2.62: Example post-processing script to display Slic3r environment
variables.
Example scripts can be found in the GitHub repository19 .
Perl’s in-place mode (perl -i) makes it easy to modify the contents
of the G-Code file, without having to copy, edit, then replace the original.
The following example will simply output the contents to standard output:
18
19

https://github.com/alexrj/Slic3r/wiki/Writing-post-processing-scripts
https://github.com/alexrj/Slic3r/tree/master/utils/post-processing

119

Slic3r
#!/usr/bin/perl -i
use strict;
use warnings;
while (<>) {
# modify $_ here before printing
print;
}

Figure 2.63: Example post-processing script to print each line to output.

120

2.9. TROUBLESHOOTING

2.9

Troubleshooting

Z Wobble
Undulations in the walls of a print may be due to wobble in the Z axis.
A thorough analysis of the potential causes is given by whosawhatsis20 in
his article ”Taxonomy of Z axis artifacts in extrusion-based 3d printing”21 ,
however one point of particular interest for users of Slic3r is the wobble
caused by motor steps not matching the pitch of the Z rods thread. This
can be addressed by ensuring the Layer Height setting is a multiple of the
full step length.
The relevant part of the above paper is quoted here:
To avoid Z ribbing, you should always choose a layer height
that is a multiple of your full-step length. To calculate the fullstep length for the screws you’re using, take the pitch of your
screws (I recommend M6, with a pitch of 1mm) and divide by
the number of full-steps per rotation on your motors (usually
200). Microsteps are not reliably accurate enough, so ignore
them for this calculation (though using microstepping will still
make them smoother and quieter). For my recommended M6
screws, this comes out to 5 microns. It’s 4 microns for the M5
screws used by the i3, and 6.25 microns for the M8 screws used
by most other repraps. A layer height of 200 microns (.2mm),
for example, will work with any of these because 200 = 6.25 *
32 = 5 * 40 = 4 * 50.

20
21

http://goo.gl/iOYoK
http://goo.gl/ci9Gz

121

Slic3r

2.10 Slic3r Support
Slic3r Support
A variety of resources are available to provide support for Slic3r.
Wiki and FAQ
The wiki provides up-to-date documentation, and a FAQ subsection which may help resolve any queries or issues.
• https://github.com/alexrj/Slic3r/wiki/Documentation
• https://github.com/alexrj/Slic3r/wiki/FAQ
Blog
The Slic3r blog contains tips, hints, and advice.
• http://slic3r.org/blog
IRC
Found on the irc.freenode.net server, the following chat
rooms are often filled with people who can provide real-time
help:
• #reprap: Highly active community of the RepRap project
with many users of Slic3r.
• #slic3r: Slic3r chat room where Slic3r developers and
users can provide help.
RepRap.org Forum
The RepRap forums contain a dedicated forum for Slic3r.
• forums.reprap.org/list.php?263

122

2.10. SLIC3R SUPPORT

Issue Tracker
If you find a bug in the software, then raise the issue in the
project issue tracker.
• github.com/alexrj/Slic3r/issues
Please take the time to read through the existing issues to
see whether the problem has already been submitted. Also
make sure that the problem is a bug in the application; do
not submit support related questions here. If the bug appears
to be unreported then please read the bug report guide before
submitting: http://git.io/11Hy_w.

123



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : Yes
Create Date                     : 2015:01:08 11:13:14-07:00
Creator                         :  XeTeX output 2015.01.08:1113
Modify Date                     : 2018:05:15 18:50:17-06:00
Has XFA                         : No
XMP Toolkit                     : Adobe XMP Core 5.6-c015 84.159810, 2016/09/10-02:41:30
Creator Tool                    :  XeTeX output 2015.01.08:1113
Metadata Date                   : 2018:05:15 18:50:17-06:00
Producer                        : xdvipdfmx (0.7.8)
Format                          : application/pdf
Document ID                     : uuid:bcb82424-5259-47ca-8ff4-902c288d6557
Instance ID                     : uuid:5288e0d1-8fa8-4ff5-a675-102990917310
Page Count                      : 73
EXIF Metadata provided by EXIF.tools

Navigation menu