Update README [ci skip]

This commit is contained in:
Alessandro Ranellucci 2013-09-19 12:09:13 +02:00
parent 147d4b4f0a
commit b90a896a50

View File

@ -1,65 +1,69 @@
_Q: Oh cool, a new RepRap slicer?_
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 is a G-code generator for 3D printers. It's compatible with RepRaps,
makerwares, Ultimakers and many more machines.
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,
including all those based on the Marlin, Sprinter and Repetier firmware. It also works
with Mach3 and LinuxCNC controllers.
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?
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/
## 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;
* 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.
Key features are:
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;
* G0 commands for fast retraction.
Other major features are:
Roadmap includes the following goals:
* output some statistics;
* support material for internal perimeters;
* more GUI work;
* more fill patterns;
* a more complete roadmap is needed too ;-)
* combine infill every 'n' perimeters layer to speed up printing
* **3D preview** (including multi-material files)
* **multiple layer heights** in a single print
* **spiral vase** mode for bumpless vases
* fine-grained configuration of speed, acceleration, extrusion width
* several infill patterns including honeycomb, spirals, Hilbert curves
* 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?
It's very easy. See the [project homepage](http://slic3r.org/)
for instructions and links to the precompiled packages that you can just
download and run, with no dependencies required.
You can just download a precompiled package from [slic3r.org](http://slic3r.org/);
it will run without the need for any dependency.
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?
@ -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
--info Output information about the supplied file(s) and exit
-j, --threads <num> Number of threads to use (1+, default: 2)
GUI options:
--no-plater Disable the plater tab
--gui-mode Overrides the configured mode (simple/expert)
@ -181,7 +187,7 @@ The author of the Silk icon set is Mark James.
Accuracy options:
--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 N layers (default: 1)
--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
--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: 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)
--start-gcode Load initial G-code from the supplied file. This will overwrite
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]).
--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)
--spiral-vase Experimental option to raise Z gradually when printing single-walled vases
(default: no)
--only-retract-when-crossing-perimeters
Disable retraction when travelling between infill paths inside the same island.
(default: yes)
(default: no)
--solid-infill-below-area
Force solid infill when a region has a smaller area than this threshold
(mm^2, default: 70)
@ -219,19 +223,30 @@ The author of the Silk icon set is Mark James.
Only infill under ceilings (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 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)
Pattern to use for support material (default: honeycomb)
--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)
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)