• Lars Kruse's avatar
    replaced toolpath handling with a more flexible approach · 8aceb43d
    Lars Kruse authored
    Toolpaths ("moves") are now created as simple lists containing a tuple
    of two values:
    - a type identifier (numeric constant) - e.g. "move", "move rapid", "safety move"
    - arguments (can be a tuple, as well)
    
    This structure allows the use of "filters" for GCode generation.
    A simple example:
    A "laser" GCode generator will turn all "safety move" items into
    "laser power on" and "laser power off" respectively.
    A milling machine GCode generator will turn all "safety move" items into
    rapid moves up, then sideways moves and then slow moves down to the next
    destination.
    
    Currently the following filters are implemented:
    - skip a safety move if a short sideways move does no harm (e.g. zigzag mode)
    - replace safety moves with the proper combination of normal and rapid moves
    - a simple example filter for machine settings (feedrate, metric system, ...)
    Tool change and touch off, as well as the missing startup settings are still
    open.
    8aceb43d
Name
Last commit
Last update
Tests Loading commit data...
debian Loading commit data...
doc Loading commit data...
man Loading commit data...
pycam Loading commit data...
pyinstaller Loading commit data...
samples Loading commit data...
scripts Loading commit data...
share Loading commit data...
.gitignore Loading commit data...
COPYING.TXT Loading commit data...
Changelog Loading commit data...
INSTALL.TXT Loading commit data...
LICENSE.TXT Loading commit data...
MANIFEST.in Loading commit data...
Makefile Loading commit data...
README.TXT Loading commit data...
pylint.sh Loading commit data...
release_info.txt Loading commit data...
setup.cfg Loading commit data...
setup.py Loading commit data...
technical_details.txt Loading commit data...