PYCAM

Section: PyCAM manual (1)
Updated: August 2011
 

NAME

PyCAM - Toolpath Generation for 3-Axis CNC machining  

SYNOPSIS

pycam [options] [inputfile]  

DESCRIPTION

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

OPTIONS

-h, --help
show this help message and exit
General options:
-c CONFIG_FILE, --config=CONFIG_FILE
load a task settings file
--unit=UNIT_SIZE
choose 'mm' or 'inch' for all numbers. By default 'mm' is assumed.
--collision-engine=COLLISION_ENGINE
choose a specific collision detection engine. The default is 'triangles'. Use 'help' to get a list of possible engines.
--boundary-mode=BOUNDARY_MODE
specify if the mill tool (including its radius) should move completely 'inside', 'along' or 'outside' the defined processing boundary.
--disable-psyco
disable the Psyco just-in-time-compiler even if it is available
--number-of-processes=PARALLEL_PROCESSES
override the default detection of multiple CPU cores. Parallel processing only works with Python 2.6 (or later) or with the additional 'multiprocessing' module.
--enable-server
enable a local server and (optionally) remote worker servers.
--remote-server=REMOTE_SERVER
Connect to a remote task server to distribute the processing load. The server is given as an IP or a hostname with an optional port (default: 1250) separated by a colon.
--start-server-only
Start only a local server for handling remote requests.
--server-auth-key=SERVER_AUTHKEY
Secret used for connecting to a remote server or for granting access to remote clients.
-q, --quiet
output only warnings and errors.
-d, --debug
enable output of debug messages.
--trace
enable more verbose debug messages.
--progress=PROGRESS
specify the type of progress bar used in non-GUI mode. The following options are available: text, none, bar, dot.
--profiling=PROFILE_DESTINATION
store profiling statistics in a file (only for debugging)
-v, --version
output the current version of PyCAM and exit
Export formats:
Export the resulting toolpath or meta-data in various formats. These options trigger the non-interactive mode. Thus the GUI is disabled.
--export-gcode=EXPORT_GCODE
export the generated toolpaths to a file
--export-task-config=EXPORT_TASK_CONFIG
export the current task configuration (mainly for debugging)
Tool definition:
Specify the tool parameters. The default tool is spherical and has a diameter of 1 unit. The default speeds are 1000 units/minute (feedrate) and 250 (spindle rotations per minute)
--tool-shape=TOOL_SHAPE
tool shape for the operation (cylindrical, spherical, toroidal)
--tool-size=TOOL_DIAMETER
diameter of the tool
--tool-torus-size=TOOL_TORUS_DIAMETER
torus diameter of the tool (only for toroidal tool shape)
--tool-feedrate=TOOL_FEEDRATE
allowed movement velocity of the tool (units/minute)
--tool-spindle-speed=TOOL_SPINDLE_SPEED
rotation speed of the tool (per minute)
--tool-id=TOOL_ID
tool ID - to be used for tool selection via GCode (default: 1)
Process definition:
Specify the process parameters: toolpath strategy, layer height, and others. A typical roughing operation is configured by default.
--process-path-direction=PROCESS_PATH_DIRECTION
primary direction of the generated toolpath (x/y/xy)
--process-path-strategy=PROCESS_PATH_STRATEGY
one of the available toolpath strategies (layer, surface, contour-follow, contour-polygon, engrave)
--process-material-allowance=PROCESS_MATERIAL_ALLOWANCE
minimum distance between the tool and the object (for rough processing)
--process-step-down=PROCESS_STEP_DOWN
the maximum thickness of each processed material layer (only for 'layer' strategy)
--process-overlap-percent=PROCESS_OVERLAP_PERCENT
how much should two adjacent parallel toolpaths overlap each other (0..99)
--process-milling-style=PROCESS_MILLING_STYLE
milling style (conventional / climb / ignore)
--safety-height=SAFETY_HEIGHT
height for safe re-positioning moves
--process-engrave-offset=PROCESS_ENGRAVE_OFFSET
engrave along the contour of a model with a given distance (only for 'engrave' strategy)
Boundary definition:
Specify the outer limits of the processing area (x/y/z). You may choose between 'relative_margin' (margin is given as percentage of the respective model dimension), 'fixed_margin' (margin for each face given in absolute units of length) and 'custom' (absolute coordinates of the bounding box - regardless of the model size and position). Negative values are allowed and can make sense (e.g. negative margin).
--bounds-type=BOUNDS_TYPE
type of the boundary definition (relative-margin, fixed-margin, custom)
--bounds-lower=BOUNDS_LOWER
comma-separated x/y/z combination of the lower boundary (e.g. '4,4,-0.5')
--bounds-upper=BOUNDS_UPPER
comma-separated x/y/z combination of the upper boundary (e.g. '12,5.5,0')
Support structure:
An optional support structure can be used to keep the object in place during the mill operation. The support structure can be removed manually afterwards. Various types of support structures are available. Support structures are disabled by default.
--support-type=SUPPORT_TYPE
type of the support structure (default: none)
--support-profile-height=SUPPORT_PROFILE_HEIGHT
height of the support profile
--support-profile-thickness=SUPPORT_PROFILE_THICKNESS
width of the support profile
--support-grid-distance-x=SUPPORT_GRID_DISTANCE_X
distance along the x-axis between two adjacent parallel lines of the support structure(only for grid type)
--support-grid-distance-y=SUPPORT_GRID_DISTANCE_Y
distance along the y-axis between two adjacent parallel lines of the support structure (only for grid type)
--support-grid-offset-x=SUPPORT_GRID_OFFSET_X
shift the support grid along the x axis
--support-grid-offset-y=SUPPORT_GRID_OFFSET_Y
shift the support grid along the y axis
--support-distributed-distance=SUPPORT_DISTRIBUTED_DISTANCE
average distance between two adjacent support bridges
--support-distributed-minimum=SUPPORT_DISTRIBUTED_MINIMUM
minimum number of support bridges per polygon
--support-distributed-length=SUPPORT_DISTRIBUTED_LENGTH
length of each support bridge
GCode settings:
Specify some details of the generated GCode.
--gcode-no-start-stop-spindle
do not start the spindle before and stop it after each operation (M3/M5)
--gcode-minimum-step=GCODE_MINIMUM_STEP
mimimum axial distance between two machine positions. Any shorter move is not written to GCode (default: 0.00001).
--gcode-path-mode=GCODE_PATH_MODE
choose the GCode path mode from 'exact_path', 'exact_stop' and 'continuous'. Use '--gcode-motiontolerance' and and '--gcode-naive-tolerance' if you want to limit the deviation. See http://linuxcnc.org/docs/html/gcode_main.html (G61) for details.
--gcode-motion-tolerance=GCODE_MOTION_TOLERANCE
the optional motion tolerance for 'continuous' path mode (G64).
--gcode-naive-tolerance=GCODE_NAIVE_TOLERANCE
the optional naive CAM tolerance for 'continuous' path mode (G64).
External programs:
Some optional external programs are used for format conversions.
--location-inkscape=EXTERNAL_PROGRAM_INKSCAPE
location of the Inkscape executable. This program is required for importing SVG files.
--location-pstoedit=EXTERNAL_PROGRAM_PSTOEDIT
location of the PStoEdit executable. This program is required for importing SVG files.

PyCAM website: http://pycam.sf.net  

ENVIRONMENT

PYCAM_DATA_DIR
Override the default data directory of PyCAM. This allows you to provide customized logos, menu files or non-default sample files.
PYCAM_FONT_DIR
Override the default location of engrave fonts.
PYTHONPATH
You may want to define this variable in case that you installed the PyCAM python package in a non-default location.
 

EXAMPLES

pycam --export-gcode=output.ngc --bounds-type=relative-margin --bounds-lower=0.1,0.05,-0.1 foo.stl

Use the default settings to process the model foo.stl with an adjusted lower margin (minx, miny, minz) of 10% (for x), 5% (for y) and -10% (for z).  

REPORTING BUGS

See http://sourceforge.net/tracker/?group_id=237831&atid=1104176  

COPYRIGHT

Copyright © 2008-2010 Lode Leroy
Copyright © 2010-2011 Lars Kruse

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.  

SEE ALSO

Take a look at the output of pycam --help to get a slightly better formatted list of options. The manual that you are reading right now is derived from this output.

Take a look at the wiki for more information about PyCAM: http://sourceforge.net/apps/mediawiki/pycam/

The website of the PyCAM project: http://pycam.sourceforge.net


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
ENVIRONMENT
EXAMPLES
REPORTING BUGS
COPYRIGHT
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 15:45:02 GMT, August 18, 2011