-
Notifications
You must be signed in to change notification settings - Fork 4
Home
This is the main manual, see also on right-hand side for some additional more in-depth topics of print3r
.
% 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, slic3r-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 -
client
: enable remote printing
% 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.3.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, prusa, cura-legacy, cura
slicer4rtn, cura-slicer, 5dmaker
--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 ":"
--prepend-gcode=... add manually start-gcode
--layer-gcode=... insert gcode at layer change
--display_update=off turn built-in display updates off
--post_<stage>=... define a post-processing stage (use '%i' input file, '%o' output file)
--post=<stage>[,<stage>] apply post-processing stage(s)
part preprocessing:
--random-placement place print randomly on the bed
--auto-center place print in the center
--multiply-part=<n> multiply part(s)
--rows=<n> define rows for multiplied parts
--cols=<n> define cols for multiplied parts
--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
client map USB connected printer to network (per device)
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 --layer-height=0.3 --fill-density=0 print cube.stl
print3r --printer=ender3 --device=tcp:192.168.0.2 --layer-height=0.25 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.
print
command converts, slices and sends the resulting Gcode to the USB port of your choice.
% print3r print cube.scad
% print3r --scad print 'cube(20)'
% print3r print cube.stl pyramid.obj
% print3r print cube.gcode
All part-preprocessing operations can be used in combination of print
, slice
, preview
and render
command:
-
--random-placement
place print randomly on the bed to evenly use the entire bed -
--auto-center
place print in the center (default)
% print3r print cube.scad
% print3r --auto-center print cube.scad
% print3r --random-placement print cube.stl
--multiply-part=<n>
multiply part(s)
% print3r --multiply-part=2 print cube.stl
% print3r --multiply-part=2 print cube.stl dodecahedron.stl
% print3r --multiply-part=2 preview cube.scad pyramid.stl
each part is multiplied, --multiply-part=1
is redundant.
-
--scale=<x>,<y>,<z>
scale part x,y,z (absolute if 'mm' is appended) -
--scale=<f>
scale part f,f,f
whereas each value can be:
-
<float>
= multiplier, special case 0 = scale proportionally -
<float>
% = multiplier in percent -
<float>
mm = force to x mm absolute length and scale all axis set to 0 proportionally
% print3r --scale=2 preview cube.scad
% print3r --scale=200% print cube.stl
% print3r --scale=2,1,0.5 print cube.stl
% print3r --scale=20mm,0,0 print box.stl
% print3r --scale=20mm,2,1 print box.stl
% print3r --scale=300mm,30%,1 print box.stl
--rotate=<x>,<y>,<z>
rotate x,y,z where is each angle 0 .. 360 deg
% print3r --rotate=90,0,0 preview toy.scad
% print3r --rotate=90,0,0 print toy.stl
--translate=<x>,<y>,<z>
translate x,y,z whereas each value in [mm], disables --auto-center
and --random-placement
.
% print3r --translate=-40,20,0 print cube.stl
--mirror=<x>,<y>,<z>
mirror x,y,z (0=keep, 1=mirror), the same can be achieved with --scale=
by using -1 (mirror) and 1 (keep):
% print3r --mirror=1,0,0 print toy.stl
% print3r --mirror=0,1,0 print mount.stl
% print3r --scale=1,-1,1 print mount.stl
slice
command converts and slices the model to Gcode file, best set --output=file.gcode
to define the filename.
% print3r slice cube.scad
% print3r slice cube.stl
% print3r --output=cube.gcode cube.scad
% print3r --slicer=cura --output=cube.gcode cube.scad
% print3r --slicer=slic3r-pe --output=cube2.gcode cube.scad
preview
command converts, slices and display the resulting Gcode with yagv
Gcode viewer.
% print3r preview cube.scad
% print3r --slicer=cura preview cube.scad
% print3r --slicer=cura --printer=prusa-i3 preview cube.scad
% print3r --slicer=slic3r-pe --printer=ashtar-k-1 preview cube.stl pyramid.stl
render
command converts, slices and renders the resulting Gcode into a PNG image, best set --output=test.png
to define the filename.
% print3r render cube.scad
% print3r --slicer=cura render 3DBenchy.stl
% print3r --slicer=cura --printer=prusa-i3 render cube.scad
% print3r --slicer=slic3r-pe --printer=ashtar-k-1 --output=set.png render cube.stl pyramid.stl
gcode
command allows to send Gcode in the command line directly:
% print3r gcode 'G28 X Y'
% print3r gcode 'G28 Z'
gconsole
command launches an interactive console to send Gcode and custom commands to USB connected printer:
== 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
.
> _