Update README [ci skip]
This commit is contained in:
parent
147d4b4f0a
commit
b90a896a50
@ -1,65 +1,69 @@
|
|||||||
_Q: Oh cool, a new RepRap slicer?_
|
_Q: Oh cool, a new RepRap slicer?_
|
||||||
|
|
||||||
A: Yes.
|
A: Yes.
|
||||||
|
|
||||||
# Slic3r
|
Slic3r [![Build Status](https://travis-ci.org/alexrj/Slic3r.png?branch=master)](https://travis-ci.org/alexrj/Slic3r)
|
||||||
|
======
|
||||||
|
|
||||||
## What's it?
|
Slic3r takes 3D models (STL, OBJ, AMF) and converts them into G-code instructions for
|
||||||
|
3D printers. It's compatible with any modern printer based on the RepRap toolchain,
|
||||||
Slic3r is a G-code generator for 3D printers. It's compatible with RepRaps,
|
including all those based on the Marlin, Sprinter and Repetier firmware. It also works
|
||||||
makerwares, Ultimakers and many more machines.
|
with Mach3 and LinuxCNC controllers.
|
||||||
|
|
||||||
See the [project homepage](http://slic3r.org/) at slic3r.org and the
|
See the [project homepage](http://slic3r.org/) at slic3r.org and the
|
||||||
[documentation](https://github.com/alexrj/Slic3r/wiki/Documentation) on the Slic3r wiki for more information.
|
[manual](http://manual.slic3r.org/) for more information.
|
||||||
|
|
||||||
## What language is it written in?
|
## What language is it written in?
|
||||||
|
|
||||||
Proudly Perl, with some parts in C++.
|
The core geometric algorithms and data structures are written in C++,
|
||||||
|
and Perl is used for high-level flow abstraction, GUI and testing.
|
||||||
If you're wondering why Perl, see http://xkcd.com/224/
|
If you're wondering why Perl, see http://xkcd.com/224/
|
||||||
|
|
||||||
## What's its current status?
|
The C++ API is public and its use in other projects is encouraged.
|
||||||
|
The goal is to make Slic3r fully modular so that any part of its logic
|
||||||
|
can be used separately.
|
||||||
|
|
||||||
Slic3r current key features are:
|
## What are Slic3r's main features?
|
||||||
|
|
||||||
* multi-platform (Linux/Mac/Win) and packaged as standalone-app with no dependencies required;
|
Key features are:
|
||||||
* easy configuration/calibration;
|
|
||||||
* read binary and ASCII STL files as well as OBJ and AMF;
|
|
||||||
* powerful command line interface;
|
|
||||||
* easy GUI with plating and manipulation facilities;
|
|
||||||
* multithreaded;
|
|
||||||
* multiple infill patterns, with customizable density and angle;
|
|
||||||
* retraction;
|
|
||||||
* skirt;
|
|
||||||
* infill every N layers (like the "Skin" plugin for Skeinforge);
|
|
||||||
* detect optimal infill direction for bridges;
|
|
||||||
* save configuration profiles;
|
|
||||||
* center print around bed center point;
|
|
||||||
* multiple solid layers near horizontal external surfaces;
|
|
||||||
* ability to scale, rotate and duplicate input objects;
|
|
||||||
* customizable initial and final G-code;
|
|
||||||
* support material;
|
|
||||||
* cooling and fan control;
|
|
||||||
* use different speed for bottom layer, perimeters, small perimeters, bridges, solid infill;
|
|
||||||
* ability to print complete objects before moving onto next one.
|
|
||||||
|
|
||||||
Experimental features include:
|
* **multi-platform** (Linux/Mac/Win) and packaged as standalone-app with no dependencies required
|
||||||
|
* complete **command-line interface** to use it with no GUI
|
||||||
|
* multi-material (**multiple extruders**) object printing
|
||||||
|
* multiple G-code flavors supported (RepRap, Makerbot, Mach3 etc.)
|
||||||
|
* ability to plate **multiple objects having distinct print settings**
|
||||||
|
* **multithread** processing
|
||||||
|
* **STL auto-repair** (tolerance for broken models)
|
||||||
|
* wide automated unit testing
|
||||||
|
|
||||||
* generation of G2/G3 commands for native arcs;
|
Other major features are:
|
||||||
* G0 commands for fast retraction.
|
|
||||||
|
|
||||||
Roadmap includes the following goals:
|
* combine infill every 'n' perimeters layer to speed up printing
|
||||||
|
* **3D preview** (including multi-material files)
|
||||||
* output some statistics;
|
* **multiple layer heights** in a single print
|
||||||
* support material for internal perimeters;
|
* **spiral vase** mode for bumpless vases
|
||||||
* more GUI work;
|
* fine-grained configuration of speed, acceleration, extrusion width
|
||||||
* more fill patterns;
|
* several infill patterns including honeycomb, spirals, Hilbert curves
|
||||||
* a more complete roadmap is needed too ;-)
|
* support material, raft, brim, skirt
|
||||||
|
* **standby temperature** and automatic wiping for multi-extruder printing
|
||||||
|
* customizable **G-code macros** and output filename with variable placeholders
|
||||||
|
* support for **post-processing scripts**
|
||||||
|
* **cooling logic** controlling fan speed and dynamic print speed
|
||||||
|
|
||||||
## How to install?
|
## How to install?
|
||||||
|
|
||||||
It's very easy. See the [project homepage](http://slic3r.org/)
|
You can just download a precompiled package from [slic3r.org](http://slic3r.org/);
|
||||||
for instructions and links to the precompiled packages that you can just
|
it will run without the need for any dependency.
|
||||||
download and run, with no dependencies required.
|
|
||||||
|
If you want to compile the source yourself just do the following (checkout
|
||||||
|
[slic3r.org](http://slic3r.org/download) for more details):
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git clone https://github.com/alexrj/Slic3r.git
|
||||||
|
$ cd Slic3r
|
||||||
|
$ sudo perl Build.PL
|
||||||
|
$ sudo perl Build.PL --gui
|
||||||
|
$ ./slic3r.pl
|
||||||
|
```
|
||||||
|
|
||||||
## Can I help?
|
## Can I help?
|
||||||
|
|
||||||
@ -95,6 +99,8 @@ The author of the Silk icon set is Mark James.
|
|||||||
--repair Repair given STL files and save them as <name>_fixed.obj
|
--repair Repair given STL files and save them as <name>_fixed.obj
|
||||||
--info Output information about the supplied file(s) and exit
|
--info Output information about the supplied file(s) and exit
|
||||||
|
|
||||||
|
-j, --threads <num> Number of threads to use (1+, default: 2)
|
||||||
|
|
||||||
GUI options:
|
GUI options:
|
||||||
--no-plater Disable the plater tab
|
--no-plater Disable the plater tab
|
||||||
--gui-mode Overrides the configured mode (simple/expert)
|
--gui-mode Overrides the configured mode (simple/expert)
|
||||||
@ -181,7 +187,7 @@ The author of the Silk icon set is Mark James.
|
|||||||
|
|
||||||
Accuracy options:
|
Accuracy options:
|
||||||
--layer-height Layer height in mm (default: 0.4)
|
--layer-height Layer height in mm (default: 0.4)
|
||||||
--first-layer-height Layer height for first layer (mm or %, default: 100%)
|
--first-layer-height Layer height for first layer (mm or %, default: 0.35)
|
||||||
--infill-every-layers
|
--infill-every-layers
|
||||||
Infill every N layers (default: 1)
|
Infill every N layers (default: 1)
|
||||||
--solid-infill-every-layers
|
--solid-infill-every-layers
|
||||||
@ -194,7 +200,7 @@ The author of the Silk icon set is Mark James.
|
|||||||
--solid-layers Shortcut for setting the two options above at once
|
--solid-layers Shortcut for setting the two options above at once
|
||||||
--fill-density Infill density (range: 0-1, default: 0.4)
|
--fill-density Infill density (range: 0-1, default: 0.4)
|
||||||
--fill-angle Infill angle in degrees (range: 0-90, default: 45)
|
--fill-angle Infill angle in degrees (range: 0-90, default: 45)
|
||||||
--fill-pattern Pattern to use to fill non-solid layers (default: rectilinear)
|
--fill-pattern Pattern to use to fill non-solid layers (default: honeycomb)
|
||||||
--solid-fill-pattern Pattern to use to fill solid layers (default: rectilinear)
|
--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
|
--start-gcode Load initial G-code from the supplied file. This will overwrite
|
||||||
the default command (home all axes [G28]).
|
the default command (home all axes [G28]).
|
||||||
@ -203,15 +209,13 @@ The author of the Silk icon set is Mark James.
|
|||||||
home X axis [G28 X], disable motors [M84]).
|
home X axis [G28 X], disable motors [M84]).
|
||||||
--layer-gcode Load layer-change G-code from the supplied file (default: nothing).
|
--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).
|
--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)
|
--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)
|
--external-perimeters-first Reverse perimeter order. (default: no)
|
||||||
--spiral-vase Experimental option to raise Z gradually when printing single-walled vases
|
--spiral-vase Experimental option to raise Z gradually when printing single-walled vases
|
||||||
(default: no)
|
(default: no)
|
||||||
--only-retract-when-crossing-perimeters
|
--only-retract-when-crossing-perimeters
|
||||||
Disable retraction when travelling between infill paths inside the same island.
|
Disable retraction when travelling between infill paths inside the same island.
|
||||||
(default: yes)
|
(default: no)
|
||||||
--solid-infill-below-area
|
--solid-infill-below-area
|
||||||
Force solid infill when a region has a smaller area than this threshold
|
Force solid infill when a region has a smaller area than this threshold
|
||||||
(mm^2, default: 70)
|
(mm^2, default: 70)
|
||||||
@ -219,19 +223,30 @@ The author of the Silk icon set is Mark James.
|
|||||||
Only infill under ceilings (default: no)
|
Only infill under ceilings (default: no)
|
||||||
--infill-first Make infill before perimeters (default: no)
|
--infill-first Make infill before perimeters (default: no)
|
||||||
|
|
||||||
|
Quality options (slower slicing):
|
||||||
|
--extra-perimeters Add more perimeters when needed (default: yes)
|
||||||
|
--avoid-crossing-perimeters Optimize travel moves so that no perimeters are crossed (default: no)
|
||||||
|
--start-perimeters-at-concave-points
|
||||||
|
Try to start perimeters at concave points if any (default: no)
|
||||||
|
--start-perimeters-at-non-overhang
|
||||||
|
Try to start perimeters at non-overhang points if any (default: no)
|
||||||
|
--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 options:
|
||||||
--support-material Generate support material for overhangs
|
--support-material Generate support material for overhangs
|
||||||
--support-material-threshold
|
--support-material-threshold
|
||||||
Overhang threshold angle (range: 0-90, set 0 for automatic detection,
|
Overhang threshold angle (range: 0-90, set 0 for automatic detection,
|
||||||
default: 0)
|
default: 0)
|
||||||
--support-material-pattern
|
--support-material-pattern
|
||||||
Pattern to use for support material (default: rectilinear)
|
Pattern to use for support material (default: honeycomb)
|
||||||
--support-material-spacing
|
--support-material-spacing
|
||||||
Spacing between pattern lines (mm, default: 2.5)
|
Spacing between pattern lines (mm, default: 2.5)
|
||||||
--support-material-angle
|
--support-material-angle
|
||||||
Support material angle in degrees (range: 0-90, default: 0)
|
Support material angle in degrees (range: 0-90, default: 0)
|
||||||
--support-material-interface-layers
|
--support-material-interface-layers
|
||||||
Number of perpendicular layers between support material and object (0+, default: 0)
|
Number of perpendicular layers between support material and object (0+, default: 3)
|
||||||
--support-material-interface-spacing
|
--support-material-interface-spacing
|
||||||
Spacing between interface pattern lines (mm, set 0 to get a solid layer, default: 0)
|
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)
|
--raft-layers Number of layers to raise the printed objects by (range: 0+, default: 0)
|
Loading…
Reference in New Issue
Block a user