diff options
| author | Franklin Wei <franklin@rockbox.org> | 2019-12-27 15:15:51 -0500 |
|---|---|---|
| committer | Franklin Wei <franklin@rockbox.org> | 2019-12-27 15:15:51 -0500 |
| commit | 092b8d91b0617636d44c9aa46aa90032639867e4 (patch) | |
| tree | 9daa090e029d5f535069948f408494a1214f7042 | |
| parent | 8d3ed3b0b28daa4388df87e0cf4f952f255c63a3 (diff) | |
| download | rastercarve-092b8d91b0617636d44c9aa46aa90032639867e4.zip rastercarve-092b8d91b0617636d44c9aa46aa90032639867e4.tar.gz rastercarve-092b8d91b0617636d44c9aa46aa90032639867e4.tar.bz2 rastercarve-092b8d91b0617636d44c9aa46aa90032639867e4.tar.xz | |
Add option to engrave image with dots
Not tested, but might look nice (or terrible, who knows?).
| -rw-r--r-- | README.md | 3 | ||||
| -rwxr-xr-x | rastercarve/__main__.py | 11 |
2 files changed, 12 insertions, 2 deletions
@@ -102,7 +102,7 @@ usage: rastercarve [-h] (--width WIDTH | --height HEIGHT) [-f FEED_RATE] [-p PLUNGE_RATE] [--rapid RAPID_RATE] [-z SAFE_Z] [--end-z TRAVERSE_Z] [-d MAX_DEPTH] [-t TOOL_ANGLE] [-a LINE_ANGLE] [-s STEPOVER] [-r LINEAR_RESOLUTION] - [--no-line-numbers] [--debug] [-q] [--version] + [--dots] [--no-line-numbers] [--debug] [-q] [--version] filename Generate G-code to engrave raster images. @@ -138,6 +138,7 @@ engraving parameters: (default: 110) -r LINEAR_RESOLUTION distance between successive G-code points (in) (default: 0.01) + --dots engrave using dots instead of lines (experimental) G-code parameters: --no-line-numbers suppress G-code line numbers (dangerous on ShopBot!) diff --git a/rastercarve/__main__.py b/rastercarve/__main__.py index e04aa80..7f3bac9 100755 --- a/rastercarve/__main__.py +++ b/rastercarve/__main__.py @@ -181,10 +181,17 @@ def engraveLine(img_interp, img_size, ppi, start, d, step): x, y = v depth = getDepth(getPix(img_interp, img_x, img_y)) if not first: - move(x, y, depth, glob_args.feed_rate) + if hasattr(glob_args, 'pointmode'): + move(x, y, glob_args.safe_z, glob_args.feed_rate) + move(x, y, depth, glob_args.feed_rate) + move(x, y, glob_args.safe_z, glob_args.feed_rate) + else: + move(x, y, depth, glob_args.feed_rate) else: first = False moveSlow(x, y, depth) + if hasattr(glob_args, 'pointmode'): + moveSlow(x, y, glob_args.safe_z) v += step * d # return last engraved point @@ -338,6 +345,8 @@ flag with caution on other machines.""") cut_group.add_argument('-a', help='angle of grooves from horizontal (deg)', action='store', dest='line_angle', default=DEF_LINE_ANGLE, type=float) cut_group.add_argument('-s', help='stepover percentage (affects spacing between lines)', action='store', dest='stepover', default=DEF_STEPOVER, type=float) cut_group.add_argument('-r', help='distance between successive G-code points (in)', action='store', dest='linear_resolution', default=DEF_LINEAR_RESOLUTION, type=float) + cut_group.add_argument('--dots', help='engrave using dots instead of lines (experimental)', action='store_true', dest='pointmode', default=argparse.SUPPRESS) + gcode_group = parser.add_argument_group('G-code parameters') gcode_group.add_argument('--no-line-numbers', help='suppress G-code line numbers (dangerous on ShopBot!)', action='store_true', dest='suppress_linenos', default=argparse.SUPPRESS) |