From f039ef4c8d05628ebf6e13fb011ec054dc4c8740 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Thu, 4 Jul 2019 15:35:31 +0200 Subject: respect trim commands --- lib/extensions/input.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib/extensions/input.py') diff --git a/lib/extensions/input.py b/lib/extensions/input.py index fbc37bd7..9f1314eb 100644 --- a/lib/extensions/input.py +++ b/lib/extensions/input.py @@ -18,10 +18,21 @@ class Input(object): for raw_stitches, thread in pattern.get_as_colorblocks(): color_block = stitch_plan.new_color_block(thread) + trim_after = False + jump_counter = 0 for x, y, command in raw_stitches: - # let's ignore commands for now 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) + jump_counter = 0 + elif len(color_block) > 0: + # some file formats use 3 or more jump stitches in a row to indicate a trim + if command == pyembroidery.JUMP: + jump_counter += 1 + if command == pyembroidery.TRIM or jump_counter >=3: + trim_after = True extents = stitch_plan.extents svg = etree.Element("svg", nsmap=inkex.NSS, attrib={ -- cgit v1.2.3