1PYCAM(1)                         PyCAM manual                         PYCAM(1)
2
3
4

NAME

6       PyCAM - Toolpath Generation for 3-Axis CNC machining
7

SYNOPSIS

9       pycam [options] [inputfile]
10

DESCRIPTION

12       Start  the  PyCAM toolpath generator. Supplying one of the '--export-?'
13       parameters will cause PyCAM to start in batch mode. Most parameters are
14       useful only for batch mode.
15

OPTIONS

17       -h, --help
18              show this help message and exit
19
20              General options:
21
22       -c CONFIG_FILE, --config=CONFIG_FILE
23              load a task settings file
24
25       --unit=UNIT_SIZE
26              choose  'mm'  or  'inch'  for  all  numbers.  By default 'mm' is
27              assumed.
28
29       --collision-engine=COLLISION_ENGINE
30              choose a specific collision detection  engine.  The  default  is
31              'triangles'. Use 'help' to get a list of possible engines.
32
33       --boundary-mode=BOUNDARY_MODE
34              specify if the mill tool (including its radius) should move com‐
35              pletely 'inside', 'along' or 'outside'  the  defined  processing
36              boundary.
37
38       --disable-psyco
39              disable the Psyco just-in-time-compiler even if it is available
40
41       --number-of-processes=PARALLEL_PROCESSES
42              override  the default detection of multiple CPU cores.  Parallel
43              processing only works with Python 2.6 (or  later)  or  with  the
44              additional 'multiprocessing' module.
45
46       --enable-server
47              enable a local server and (optionally) remote worker servers.
48
49       --remote-server=REMOTE_SERVER
50              Connect  to  a  remote  task server to distribute the processing
51              load. The server is given  as  an  IP  or  a  hostname  with  an
52              optional port (default: 1250) separated by a colon.
53
54       --start-server-only
55              Start only a local server for handling remote requests.
56
57       --server-auth-key=SERVER_AUTHKEY
58              Secret  used  for  connecting to a remote server or for granting
59              access to remote clients.
60
61       -q, --quiet
62              output only warnings and errors.
63
64       -d, --debug
65              enable output of debug messages.
66
67       --progress=PROGRESS
68              specify the type of progress bar used in non-GUI mode.  The fol‐
69              lowing options are available: text, none, bar, dot.
70
71       --profiling=PROFILE_DESTINATION
72              store profiling statistics in a file (only for debugging)
73
74       -v, --version
75              output the current version of PyCAM and exit
76
77              Export formats:
78
79              Export  the  resulting toolpath or meta-data in various formats.
80              These options trigger the non-interactive mode. Thus the GUI  is
81              disabled.
82
83       --export-gcode=EXPORT_GCODE
84              export the generated toolpaths to a file
85
86       --export-task-config=EXPORT_TASK_CONFIG
87              export the current task configuration (mainly for debugging)
88
89              Tool definition:
90
91              Specify  the  tool parameters. The default tool is spherical and
92              has  a  diameter  of  1  unit.  The  default  speeds  are   1000
93              units/minute (feedrate) and 250 (spindle rotations per minute)
94
95       --tool-shape=TOOL_SHAPE
96              tool shape for the operation (cylindrical, spherical, toroidal)
97
98       --tool-size=TOOL_DIAMETER
99              diameter of the tool
100
101       --tool-torus-size=TOOL_TORUS_DIAMETER
102              torus diameter of the tool (only for toroidal tool shape)
103
104       --tool-feedrate=TOOL_FEEDRATE
105              allowed movement velocity of the tool (units/minute)
106
107       --tool-spindle-speed=TOOL_SPINDLE_SPEED
108              rotation speed of the tool (per minute)
109
110       --tool-id=TOOL_ID
111              tool ID - to be used for tool selection via GCode (default: 1)
112
113              Process definition:
114
115              Specify the process parameters: toolpath strategy, layer height,
116              and others.  A  typical  roughing  operation  is  configured  by
117              default.
118
119       --process-path-direction=PROCESS_PATH_DIRECTION
120              primary direction of the generated toolpath (x/y/xy)
121
122       --process-path-strategy=PROCESS_PATH_STRATEGY
123              one  of  the available toolpath strategies (layer, surface, con‐
124              tour-follow, contour-polygon, engrave)
125
126       --process-material-allowance=PROCESS_MATERIAL_ALLOWANCE
127              minimum distance between the tool and the object (for rough pro‐
128              cessing)
129
130       --process-step-down=PROCESS_STEP_DOWN
131              the maximum thickness of each processed material layer (only for
132              'layer' strategy)
133
134       --process-overlap-percent=PROCESS_OVERLAP_PERCENT
135              how much should two adjacent  parallel  toolpaths  overlap  each
136              other (0..99)
137
138       --process-milling-style=PROCESS_MILLING_STYLE
139              milling style (conventional / climb / ignore)
140
141       --safety-height=SAFETY_HEIGHT
142              height for safe re-positioning moves
143
144       --process-engrave-offset=PROCESS_ENGRAVE_OFFSET
145              engrave along the contour of a model with a given distance (only
146              for 'engrave' strategy)
147
148              Boundary definition:
149
150              Specify the outer limits of the processing area (x/y/z). You may
151              choose  between 'relative_margin' (margin is given as percentage
152              of the respective model dimension), 'fixed_margin'  (margin  for
153              each face given in absolute units of length) and 'custom' (abso‐
154              lute coordinates of the bounding box - regardless of  the  model
155              size  and  position).   Negative values are allowed and can make
156              sense (e.g. negative margin).
157
158       --bounds-type=BOUNDS_TYPE
159              type of the boundary definition (relative-margin,  fixed-margin,
160              custom)
161
162       --bounds-lower=BOUNDS_LOWER
163              comma-separated  x/y/z  combination  of the lower boundary (e.g.
164              '4,4,-0.5')
165
166       --bounds-upper=BOUNDS_UPPER
167              comma-separated x/y/z combination of the  upper  boundary  (e.g.
168              '12,5.5,0')
169
170              Support structure:
171
172              An  optional support structure can be used to keep the object in
173              place during the mill operation. The support  structure  can  be
174              removed manually afterwards. Various types of support structures
175              are available. Support structures are disabled by default.
176
177       --support-type=SUPPORT_TYPE
178              type of the support structure (default: none)
179
180       --support-profile-height=SUPPORT_PROFILE_HEIGHT
181              height of the support profile
182
183       --support-profile-thickness=SUPPORT_PROFILE_THICKNESS
184              width of the support profile
185
186       --support-grid-distance-x=SUPPORT_GRID_DISTANCE_X
187              distance along the x-axis between two adjacent parallel lines of
188              the support structure(only for grid type)
189
190       --support-grid-distance-y=SUPPORT_GRID_DISTANCE_Y
191              distance along the y-axis between two adjacent parallel lines of
192              the support structure (only for grid type)
193
194       --support-grid-offset-x=SUPPORT_GRID_OFFSET_X
195              shift the support grid along the x axis
196
197       --support-grid-offset-y=SUPPORT_GRID_OFFSET_Y
198              shift the support grid along the y axis
199
200       --support-distributed-distance=SUPPORT_DISTRIBUTED_DISTANCE
201              average distance between two adjacent support bridges
202
203       --support-distributed-minimum=SUPPORT_DISTRIBUTED_MINIMUM
204              minimum number of support bridges per polygon
205
206       --support-distributed-length=SUPPORT_DISTRIBUTED_LENGTH
207              length of each support bridge
208
209              GCode settings:
210
211              Specify some details of the generated GCode.
212
213       --gcode-no-start-stop-spindle
214              do not start the spindle before and stop it after each operation
215              (M3/M5)
216
217       --gcode-minimum-step=GCODE_MINIMUM_STEP
218              mimimum  axial  distance  between  two  machine  positions.  Any
219              shorter move is not written to GCode (default: 0.00001).
220
221       --gcode-path-mode=GCODE_PATH_MODE
222              choose the GCode path mode from 'exact_path',  'exact_stop'  and
223              'continuous'.     Use    '--gcode-motiontolerance'    and    and
224              '--gcode-naive-tolerance' if you want to  limit  the  deviation.
225              See   http://linuxcnc.org/docs/html/gcode_main.html   (G61)  for
226              details.
227
228       --gcode-motion-tolerance=GCODE_MOTION_TOLERANCE
229              the optional motion tolerance for 'continuous' path mode (G64).
230
231       --gcode-naive-tolerance=GCODE_NAIVE_TOLERANCE
232              the optional naive CAM  tolerance  for  'continuous'  path  mode
233              (G64).
234
235              External programs:
236
237              Some optional external programs are used for format conversions.
238
239       --location-inkscape=EXTERNAL_PROGRAM_INKSCAPE
240              location  of  the  Inkscape executable. This program is required
241              for importing SVG files.
242
243       --location-pstoedit=EXTERNAL_PROGRAM_PSTOEDIT
244              location of the PStoEdit executable. This  program  is  required
245              for importing SVG files.
246
247       PyCAM website: http://pycam.sf.net
248

ENVIRONMENT

250       PYCAM_DATA_DIR
251              Override the default data directory of PyCAM. This allows you to
252              provide customized  logos,  menu  files  or  non-default  sample
253              files.
254
255       PYCAM_FONT_DIR
256              Override the default location of engrave fonts.
257
258       PYTHONPATH
259              You  may want to define this variable in case that you installed
260              the PyCAM python package in a non-default location.
261

EXAMPLES

263       pycam --export-gcode=output.ngc --bounds-type=relative-margin --bounds-lower=0.1,0.05,-0.1 foo.stl
264
265       Use the default settings to process the model foo.stl with an  adjusted
266       lower  margin  (minx,  miny,  minz) of 10% (for x), 5% (for y) and -10%
267       (for z).
268

REPORTING BUGS

270       See http://sourceforge.net/tracker/?group_id=237831&atid=1104176
271
273       Copyright © 2008-2010 Lode Leroy
274       Copyright © 2010-2011 Lars Kruse
275
276       License     GPLv3+:     GNU     GPL     version     3     or      later
277       <http://gnu.org/licenses/gpl.html>.
278       This  is  free  software:  you  are free to change and redistribute it.
279       There is NO WARRANTY, to the extent permitted by law.
280

SEE ALSO

282       Take a look at the output of pycam --help to get a slightly better for‐
283       matted  list  of  options. The manual that you are reading right now is
284       derived from this output.
285
286       Take  a  look  at  the  wiki  for   more   information   about   PyCAM:
287       http://sourceforge.net/apps/mediawiki/pycam/
288
289       The website of the PyCAM project: http://pycam.sourceforge.net
290
291
292
293PyCAM 0.5.1                        June 2011                          PYCAM(1)
Impressum