Features of PyCAM
Supported file formats
- STL (binary/ascii)
- STL (ascii)
2D models are imported from SVG, DXF, PS and EPS files.
Implemented model operations:
- scale the mode by a given factor
- move the model
- rotate around x, y or z axis (90 degrees)
- flip the model against the xy-, xz- or yz-plane
- swap axes
- save the model to an ascii STL file
- reverse line directions of 2D contour models (toggles inside/outside of polygons)
- 2D projection of 3D models
- automatically fix inside/outside relationships of 2D polygons
- extrude 2D models with configurable slopes
PyCAM needs to know the shape and size of the cutter (drill) to generate the toolpath shaping a model.
The following cutter attributes are supported:
- shapes: cylindrical, spherical, toroidal
- dimensions: radius and (if used) torus radius
The processing settings determine the way the toolpath is generated. This mainly includes the direction of force (Drop Cutter vs. Push Cutter) and the path strategy.
- Strategies: Slice removal, Contour (two modes), Drop cutter, Engraving
- Milling style: conventional / climb / minimize movements
- Grid direction: x, y or both
- Material Allowance: amount of material to remain around the model
- Overlap: how far parallel toolpath should overlap
- Step down: maximum height of material to be abraded with one slice of the Push Cutter
- Engrave offset: move the cutter parallel to the given 2D model
- Pocketing type: clearing a closed area
If you want all pieces of your model to stay connected to the material around (e.g. if you don't use a vacuum table), then you may want to add support bridges to your model.
These support bridges can be defined in two ways:
- a horizontal/vertical grid
- automatic distribution of support bridges along the outline (corners or edges) of parts of the model
The width, height and length of the support bridges are configurable.
PyCAM includes the single-line fonts developed by QCAD. You can type text and define some properties (skew, pitch, line spacing). The result can be exported to an SVG file or used directly in PyCAM (for engraving).
See the rendered output of all single-line fonts included in PyCAM.
- crop toolpath to the outline of a model or to arbitrary 2D contours
- clone a toolpath in a grid of columns and rows
GCode is a common input format for machine control software (e.g. LinuxCNC). The GCode file may contain one or mothe toolpaths.
- export toolpath as GCode files
- Measurement unit: millimeter or inches
- Speed: rotation speed of the drill
- Feedrate: maximum speed of the drill against the material
- join multiple toolpaths into one gcode file (including tool changes)
- Safety height: z-value of the safe position above the object
- specify path precision vs. processing speed (G61/G64)
- specify the minimum step width for all three axes
- touch off and tool change operations
- export tool definitions to LinuxCNC (for improved visualization)
- interactive visualization of the 3D model (rotate, pan and zoom with mouse or keyboard)
- load and save processing settings file
- useful for extending the current processing templates
- fully configurable model view items (colors, visibility)
- management of toolpaths
- default templates for three operatios are defined (“rough”, “semi-finish”, “finish”)
- show progress bar for time consuming operations
- show drill progress during path generation (optional)
- show a simulation of tool moves
- show statistics of connected worker threads in a process pool (see Server Mode)
- load an STL/DXF/PS/EPS/SVG model file
- load a processing settings file
- create a GCode file non-interactively (currently with only one
- almost all GUI options are usable via command-line arguments
PyCAM automatically uses all available CPU cores to run toolpath calculations in parallel.
Additionally you can connect multiple hosts for distributed processing within the pool. See the Server Mode for more details.
Please check the requirements for all possible features on different platforms.
Currently there is one implementation used for generating a toolpath:
- triangular collision calculation:
- calculates the collision position by checking all relevant triangles and their direction