-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Rene K. Mueller edited this page Nov 11, 2018
·
35 revisions
THIS DOCUMENTATION IS PRELIMINARY FOR UNRELEASED VERSION 0.1.x OF PRINT3R - WORK IN PROGRESS
% print3r [<options>] <command> <file1> ...
commands:
-
print
: print the part (and perform necessary conversions to achieve print) -
slice
: just slice the part to gcode with slic3r, slicer-pe or cura -
preview
: preview print as gcode -
render
: render image of print -
gcode
: send Gcode from command-line -
gconsole
: start Gcode console to interactively send commands
% print3r print cube.scad
% print3r print cube.stl
% print3r print cube.gcode
% print3r --scad print "cube(20)"
Just slice the part to Gcode:
% print3r --output=cube.gcode slice cube.scad
% print3r --output=cube.gcode slice cube.stl
Preview the resulting Gcode:
% print3r preview cube.scad
% print3r preview cube.stl
% print3r preview cube.gcode
% print3r --scad preview "cube(20)"
Render the Gcode into an image:
% print3r --output=test.png render cube.scad
% print3r --output=test.png --scad render "cube(20)"
% print3r --output=test.png render cube.stl
% print3r --output=test.png render cube.gcode
Print3r (print3r) 0.1.6 USAGE: [<options>] <cmd> <file1> [<...>]
options:
--verbose or -v or -vv increase verbosity
--quiet or -q no output except fatal errors
--baudrate=<n> set baudrate, default: 115200
--device=<d> set device, default: /dev/ttyUSB0
--slicer=<slicer> set slicer, default: slic3r
slic3r, slic3r-pe, cura-legacy, cura
--printer=<name> config of printer, default: default
--version display version and exit
--output=<file> define output file for 'slice' and 'render' command
--scad consider all arguments as actual OpenSCAD code (not files)
--scadlib=<files> define OpenSCAD files separated by "," or ":"
part preprocessing:
--random-placement place print randomly on the bed
--auto-center place print in the center
--multiply-part=<n> multiply part(s)
--scale=<x>,<y>,<z> scale part x,y,z (absolute if 'mm' is appended)
--scale=<f> scale part f,f,f
--rotate=<x>,<y>,<z> rotate x,y,z
--translate=<x>,<y>,<z> translate x,y,z
--mirror=<x>,<y>,<z> mirror x,y,z (0=keep, 1=mirror)
--<key>=<value> include any valid slicer option (e.g. slic3r --help)
commands:
print <file> [...] print (convert & slice & print) part(s) (.scad, .stl, .obj, .gcode)
slice <file> [...] slice file(s) to gcode (.scad, .stl, .amf, .obj, .3mf)
preview <file> [...] slice & preview (.scad, .stl, .obj, .gcode)
render <file> [...] render an image (use '--output=sample.png' or so)
gcode <code1> [...] send gcode lines
gconsole start gcode console
help
examples:
export PRINT3R "printer=my_printer" --OR-- setenv PRINT3R "printer=my_printer"
print3r slice cube.stl
print3r --layer-height=0.2 --output=test.gcode slice cube.stl
print3r --printer=ender3 --device=/dev/ttyUSB1 print test.gcode
print3r --printer=corexy --device=/dev/ttyUSB2 --nozzle-diameter=0.5 --layer-height=0.4 --fill-density=0 print cube.stl
print3r print cube.scad
print3r --scad print "cube(20)"
print3r gcode 'G28 X Y' 'G1 X60' 'G28 Z'
print3r gconsole
== Print3r: Gcode Console (gconsole) - use CTRL-C or 'exit' or 'quit' to exit
for valid Gcode see https://reprap.org/wiki/G-code
conf: device /dev/ttyUSB0, connected
> M115
...
Following slicers are supported via --slicer=<slicer>
:
-
slic3r
: Slic3r -
slic3r-pe
: Slic3r Prusa Edition -
cura-legacy
: CuraEngine 15.04 with old profiles -
cura
: CuraEngine 3.x or later
/usr/share/print3r/slicer/<slicer>/base.ini
contains the base settings for a particular slicer.
Common settings:
Print3r | Slic3r & Slic3 PE | Cura |
---|---|---|
temperature [C] |
temperature [C ] |
print_temperature [C] |
bed_temperature [C] |
bed_temperature [C] |
print_bed_temperature [C] |
fill_density [%] |
fill_density [%] |
infill_line_distance [mm] (must be calculated) |
nozzle_diameter [mm] |
nozzle_diameter [mm] |
machine_nozzle_size [mm] |
filament_diameter [mm] |
filament_diameter [mm] |
material_diameter [mm] |
layer_height [mm] |
layer_height [mm] |
layer_height [mm] |
top_layers [int] |
top_solid_layers [int] |
top_layers [int] |
bottom_layers [int] |
bottom_solid_layers [int] |
bottom_layers [int] |
top_thickness [mm] |
- | - |
bottom_thickness [mm] |
- | - |
perimeters [int] |
perimeters [int] |
wall_line_count [int] |
wall_thickness [mm] |
- | - |
retraction_length [mm] |
retraction_length [mm] |
retraction_amount [mm] |
first_layer_height [mm] |
first_layer_height [mm] |
layer_height_0 [mm] |
n/a |
first_layer_extrusion_width [%] |
material_flow_layer_0 [%] |
first_layer_temperature [C] |
first_layer_temperature [C] |
material_print_temperature_layer_0 [C] |
first_layer_bed_temperature [C] |
first_layer_bed_temperature [C] |
material_bed_temperature_layer_0 [C] |
first_layer_speed [mm/s] |
first_layer_speed [mm/s] |
print_speed_layer_0 [mm/s] |
start_gcode [gcode] |
start_gcode [gcode] |
machine_start_gcode [gcode] |
end_gcode [gcode] |
end_gcode [gcode] |
machine_end_gcode [gcode] |
n/a |
support_material [0,1] |
support_enable [0,1,'True','False'] |
n/a | n/a |
support_type ['buildplate','everywhere'] |
n/a |
seam_position ['random','nearest','aligned'] 1) |
z_seam_type ['shortest','random','sharpest_corner','back'] 1) |
- Slic3r's Z seam alignment 'random' is truly random along the perimeter, whereas CuraEngine's 'random' alignment seeks a random corner if possible.
Note: CuraEngine provides many ways to define a certain setting, but it's largely inconsistent in its command-line usage; where print3r
tries to provide a consistent interface while being slicer-independent with the possibility to set slicer specific settings if needed.
== Print3r: Gcode Console (gconsole) - use CTRL-C or 'exit' or 'quit' to exit
for valid Gcode see https://reprap.org/wiki/G-code
conf: device /dev/ttyUSB0, connected
>
- any valid Gcode line
- in
gconsole/commands
reside a few gcode script which simplify handling:-
home
,homex
,homey
,homez
,hx
,hy
,hz
: homing all or individual axis -
left <n>
,right <n>
move left or right (X-axis) relatively -
up <n>
,down <n>
move up or down (Z-axis) relatively -
forward <n>
,back <n>
move forward or back (Y-axis) relatively -
x <n>
,y <n>
,z <n>
move each axis absolutely -
nozzle <temp>
set nozzle temperature -
bed <temp>
set bed temperature -
off
turn everything off (motors, nozzle, bed)
-
> homex
send <G28 X>
-----
X:0.00 Y:0.00 Z:5.00 E:0.00 Count X:0 Y:0 Z:16000
ok
.
> right 10
send <G91>
-----
X:0.00 Y:0.00 Z:5.00 E:0.00 Count X:0 Y:0 Z:16000
ok
.
send <G1 X10>
-----
ok
.
> _