SLIC3R(1)

πŸŽ€ SLIC3R(1) β€” the manual, but make it cute πŸ’…

okay so. welcome to the User Commands corner of the manual, bestie. this is the whole entire page for slic3r, and yes we're doing all of it, no skimming, no skipping, we are thorough in this house. grab a strawberry πŸ“ and let's go.


🌸 NAME

slic3r β€” Slice 3D models into G-Code for 3D-printing

like. it takes your lil 3D model and turns it into instructions your printer can actually read. it's giving translator. it's giving matchmaker. πŸ’–


✨ SYNOPSIS

slic3r [ OPTIONS ] [ file.stl ] [ file2.stl ] ...

that's it. options first, then as many .stl files as your heart desires. πŸ’…


πŸ¦‹ DESCRIPTION

Slic3r is a STL-to-GCODE translator for RepRap 3D printers, written by Alessandro Ranellucci <aar@cpan.org> β€” http://slic3r.org/

no cap, that's the whole vibe. it eats STL, it spits G-code. iconic behaviour fr fr. πŸ‘‘


πŸ’– OPTIONS

okay this is the long part. hydration check. we're going through every single one of these, and i mean every single one. 🫢


🌈 Common options

these are the everyday ones, the ones you'll actually type with your own two hands:

  • --help β€” prints the usage screen and then dips out. bye! πŸ‘‹
  • --version β€” tells you which version of Slic3r you've got, then exits. know your queen. ✨
  • --save <file> β€” saves your config to the file you name.
  • --load <file> β€” loads config from the file you name. and here's the cute part: you can use this more than once to pull options from multiple files, stacking them like bracelets. πŸ’…
  • -o, --output <file> β€” the file your gcode goes to. by default, the output lands in the same directory as the input file, and the filename gets made using --output-filename-format. but if you hand this option a directory instead, the output gets saved under that directory and the filename is generated by --output-filename-format anyway. either way, --output-filename-format is doing the naming. she's the main character of filenames. πŸŽ€

🚫 Non-slicing actions (no G-code will be generated)

heads up bestie: none of these produce G-code. they're side quests, not the main plot.

  • --repair β€” repairs the STL files you gave it and saves them as <name>_fixed.obj
  • --cut <z> β€” cuts your input files at the given Z (relative) and exports them as <name>_upper.stl and <name>_lower.stl. chop chop. βœ‚οΈ
  • --split β€” splits the shells inside the given STL file into several separate STL files. one becomes many. it's giving mitosis. πŸ¦‹
  • --info β€” spits out info about the file(s) you supplied and exits.
  • -j, --threads <num> β€” number of threads to use (1+, default: 2). more threads, more zoom. 🏎️

πŸ–₯️ GUI options

for when you want the pretty window version:

  • --no-plater β€” disables the plater tab. gone. not invited. πŸ™ˆ
  • --gui-mode β€” overrides the configured mode (simple/expert)
  • --autosave <file> β€” automatically exports the current configuration to the file you name. she's saving your work without even being asked. we love a proactive queen. πŸ’–

πŸ“€ Output options

  • --output-filename-format β€” the format for output file names. every config option wrapped in brackets gets replaced by its value, and so do [input_filename_base] and [input_filename] (default: [input_filename_base].gcode). plug and play, literally. ✨
  • --post-process β€” your generated G-code gets processed with the supplied script. and yes, you can call this more than once to run it through multiple scripts, one after another, like a lil assembly line. πŸ”₯
  • --export-svg β€” exports a SVG file full of slices instead of G-code. different output, same energy. 🎨
  • -m, --merge β€” if you handed over multiple files, they get composed into a single print instead of being processed one by one. friendship bracelet behaviour. 🫢

πŸ–¨οΈ Printer options

  • --nozzle-diameter β€” diameter of the nozzle in mm (default: 0.5)
  • --print-center β€” coordinates in mm of the point to center the print around (default: 100,100)
  • --z-offset β€” extra height in mm added to vertical coordinates (+/-, default: 0)
  • --gcode-flavor β€” the type of G-code to generate (reprap/teacup/makerware/sailfish/mach3/no-extrusion, default: reprap)
  • --use-relative-e-distances β€” turn this on to get relative E values (default: no)
  • --use-firmware-retraction β€” enables firmware-controlled retraction using G10/G11 (default: no)
  • --use-volumetric-e β€” expresses E in cubic millimeters and prepends M200 (default: no)
  • --gcode-arcs β€” uses G2/G3 commands for native arcs. ⚠️ experimental, and not supported by all firmwares, so like, check before you commit. πŸ’€
  • --gcode-comments β€” makes your G-code verbose by adding comments (default: no)
  • --vibration-limit β€” limits the frequency of moves on the X and Y axes (Hz, set zero to disable; default: 0)
  • --pressure-advance β€” adjusts pressure using the experimental advance algorithm (K constant, 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 how much plastic gets extruded. ok real talk: there should be very little need to change this value, and it's only useful to compensate for filament packing (default: 1). so like. don't touch it unless you know why. πŸ’…
  • --temperature β€” extrusion temperature in degrees Celsius, set 0 to disable (default: 200)
  • --first-layer-temperature β€” extrusion temperature for the first layer, in degrees Celsius, set 0 to disable (default: same as --temperature)
  • --bed-temperature β€” heated bed temperature in degrees Celsius, set 0 to disable (default: 0)
  • --first-layer-bed-temperature β€” heated bed temperature for the first layer, in degrees Celsius, set 0 to disable (default: same as --bed-temperature)

πŸƒ Speed options

all of these are speeds, all of them are in mm/s unless they're a percentage. yes it's a lot. no we're not skipping any. 🫢

  • --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)
  • --support-material-interface-speed β€” speed of support material interface print moves, in mm/s or % over support material speed (default: 100%)
  • --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 the bottom layer, expressed either as an absolute value or as a percentage over normal speeds (default: 30%)

πŸš€ Acceleration options

  • --perimeter-acceleration β€” overrides the firmware's default acceleration for perimeters. (mm/s^2, set zero to disable; default: 0)
  • --infill-acceleration β€” overrides the firmware's default acceleration for infill. (mm/s^2, set zero to disable; default: 0)
  • --bridge-acceleration β€” overrides the firmware's default acceleration for bridges. (mm/s^2, set zero to disable; default: 0)
  • --first-layer-acceleration β€” overrides the firmware's default acceleration for the first layer. (mm/s^2, set zero to disable; default: 0)
  • --default-acceleration β€” acceleration gets reset to this value after all the specific settings above 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 the first layer (mm or %, default: 0.35)
  • --infill-every-layers β€” infill every N layers (default: 1)
  • --solid-infill-every-layers β€” forces a solid layer every N layers (default: 0)

the big one. stay hydrated. πŸ’œ

  • --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 β€” a shortcut for setting the two options right above this one, both at once. lazy girl's dream fr. ✨
  • --fill-density β€” infill density (range: 0%-100%, default: 40%)
  • --fill-angle β€” infill angle in degrees (range: 0-90, default: 45)
  • --fill-pattern β€” the pattern used to fill non-solid layers (default: honeycomb). 🐝
  • --external-fill-pattern β€” the pattern used to fill solid layers (default: rectilinear)
  • --start-gcode β€” loads initial G-code from the supplied file. ⚠️ this will overwrite the default command (home all axes [G28]). know that before you do it.
  • --end-gcode β€” loads final G-code from the supplied file. ⚠️ this overwrites the default commands (turn off temperature [M104 S0], home X axis [G28 X], disable motors [M84]). same energy, be careful. πŸ’€
  • --layer-gcode β€” loads layer-change G-code from the supplied file (default: nothing).
  • --toolchange-gcode β€” loads tool-change G-code from the supplied file (default: nothing).
  • --seam-position β€” position of loop starting points (random/nearest/aligned, default: aligned).
  • --external-perimeters-first β€” reverses perimeter order. (default: no)
  • --spiral-vase β€” an experimental option that raises Z gradually when printing single-walled vases (default: no)
  • --only-retract-when-crossing-perimeters β€” disables retraction when travelling between infill paths inside the same island. (default: no)
  • --solid-infill-below-area β€” forces solid infill when a region has a smaller area than this threshold (mm^2, default: 70)
  • --infill-only-where-needed β€” only infills under ceilings (default: no)
  • --infill-first β€” makes infill happen before perimeters (default: no)

🐒 Quality options (slower slicing)

yes bestie, these cost you time. that's the trade. ⏳

  • --extra-perimeters β€” adds more perimeters when needed (default: yes)
  • --avoid-crossing-perimeters β€” optimizes travel moves so that no perimeters get crossed (default: no)

more of this page is coming, don't go anywhere πŸ’–

  • --thin-walls β€” Detect single-width walls (default: yes).
  • --overhangs β€” Experimental option to use bridge flow, speed and fan for overhangs (default: yes).

Support material options πŸ›Ÿ

Support material is literally the scaffolding that holds up your overhangs, and these options are how you control it. No cap. πŸ’–

  • --support-material β€” Generate support material for overhangs. yes queen, it makes the supports ✨
  • --support-material-threshold β€” Overhang threshold angle (range: 0-90, set 0 for automatic detection, default: 0). It's giving "how steep before we add support" vibes.
  • --support-material-pattern β€” Pattern to use for support material (default: pillars). Pillars are the default, iconic.
  • --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: 3).
  • --support-material-interface-spacing β€” Spacing between interface pattern lines (mm, set 0 to get a solid layer, default: 0).
  • --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).
  • --dont-support-bridges β€” Experimental option for preventing support material from being generated under bridged areas (default: yes). it's experimental so be aware bestie 🫢

Retraction options 🧡

Retraction is when the filament gets pulled back so it doesn't ooze everywhere. These are the dials, periodt. πŸ’…

  • --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). (yes the flag is spelled exactly like that, iykyk πŸ’€)

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 β€” Number of skirts to draw (0+, default: 1).
  • --skirt-distance β€” 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).
  • --duplicate-grid β€” Number of items with grid arrangement (default: 1,1).
  • --duplicate-distance β€” Distance in mm between copies (default: 0).
  • --xy-size-compensation β€” Grow/shrink objects by the configured absolute distance (mm, default: 0).

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). bestie this one is giving "collision warning" so be careful 🫢
  • --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.
  • --external-perimeter-extrusion-width β€” Set a different extrusion width for external 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).
  • --solid-infill-extruder β€” Extruder to use for infill (1+, default: 1).
  • --support-material-extruder β€” Extruder to use for support material (1+, default: 1).
  • --support-material-interface-extruder β€” Extruder to use for support material interface (1+, default: 1).
  • --ooze-prevention β€” Drop temperature and park extruders outside a full skirt for automatic wiping (default: no).
  • --standby-temperature-delta β€” Temperature difference to be applied when an extruder is not active and --ooze-prevention is enabled (default: -5).

and that's the whole vibe bestie πŸ’– this page is from slic3r 1.1.4, dated June 2014, and it's the SLIC3R(1) manual β€” go slay your prints ✨🫢

πŸ“¦ where this page comes from