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?_ _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)