diff options
| author | Lex Neva <lexelby@users.noreply.github.com> | 2019-07-27 15:48:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-27 15:48:50 -0400 |
| commit | 833a8a971d8a73fbc42468a89d083e37a0bd6d8d (patch) | |
| tree | 4c38fd49d7cf813a2df1d07dbd32160d0e36373f /lib/extensions/input.py | |
| parent | 03af8b37276870efd97f7049ced006f6e01ef935 (diff) | |
| parent | 7ce4387ff6f8d4302ff374921d0b93b7b491b9a5 (diff) | |
Merge pull request #487 from inkstitch/no_import_jumps
remove additional jump stitches on import
Diffstat (limited to 'lib/extensions/input.py')
| -rw-r--r-- | lib/extensions/input.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/extensions/input.py b/lib/extensions/input.py index 0ca85df5..a82cdfca 100644 --- a/lib/extensions/input.py +++ b/lib/extensions/input.py @@ -1,27 +1,36 @@ import os +import pyembroidery + from inkex import etree import inkex -import pyembroidery +from ..stitch_plan import StitchPlan from ..svg import PIXELS_PER_MM, render_stitch_plan from ..svg.tags import INKSCAPE_LABEL -from ..stitch_plan import StitchPlan class Input(object): def affect(self, args): embroidery_file = args[0] pattern = pyembroidery.read(embroidery_file) + pattern = pattern.get_pattern_interpolate_trim(3) stitch_plan = StitchPlan() color_block = None for raw_stitches, thread in pattern.get_as_colorblocks(): color_block = stitch_plan.new_color_block(thread) + trim_after = False for x, y, command in raw_stitches: - color_block.add_stitch(x * PIXELS_PER_MM / 10.0, y * PIXELS_PER_MM / 10.0, - jump=(command == pyembroidery.JUMP), - trim=(command == pyembroidery.TRIM)) + if command == pyembroidery.STITCH: + if trim_after: + color_block.add_stitch(trim=True) + trim_after = False + color_block.add_stitch(x * PIXELS_PER_MM / 10.0, y * PIXELS_PER_MM / 10.0) + if len(color_block) > 0 and command == pyembroidery.TRIM: + trim_after = True + + stitch_plan.delete_empty_color_blocks() extents = stitch_plan.extents svg = etree.Element("svg", nsmap=inkex.NSS, attrib={ |
