1PYCAM(1) PyCAM manual PYCAM(1)
2
3
4
6 PyCAM - Toolpath Generation for 3-Axis CNC machining
7
9 pycam [options] [inputfile]
10
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
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
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
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
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
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)