From 363e05209780149f53fba1f749240f706cc01cec Mon Sep 17 00:00:00 2001 From: Lex Neva Date: Sat, 3 Aug 2019 23:14:36 -0400 Subject: input: read STOP commands too --- lib/extensions/input.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'lib/extensions') diff --git a/lib/extensions/input.py b/lib/extensions/input.py index a82cdfca..65542bb3 100644 --- a/lib/extensions/input.py +++ b/lib/extensions/input.py @@ -13,22 +13,21 @@ 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: 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 + if len(color_block) > 0: + if command == pyembroidery.TRIM: + color_block.add_stitch(trim=True) + elif command == pyembroidery.STOP: + color_block.add_stitch(stop=True) + color_block = stitch_plan.new_color_block(thread) stitch_plan.delete_empty_color_blocks() -- cgit v1.3.1 From 0c9f13d766f89d25cd0d5a078b3bde1503791dd8 Mon Sep 17 00:00:00 2001 From: Lex Neva Date: Sat, 10 Aug 2019 21:46:25 -0400 Subject: remove STOP at the end --- lib/extensions/input.py | 6 ++++++ lib/stitch_plan/stitch_plan.py | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'lib/extensions') diff --git a/lib/extensions/input.py b/lib/extensions/input.py index 65542bb3..957d355c 100644 --- a/lib/extensions/input.py +++ b/lib/extensions/input.py @@ -31,6 +31,12 @@ class Input(object): stitch_plan.delete_empty_color_blocks() + if stitch_plan.last_color_block: + if stitch_plan.last_color_block.last_stitch: + if stitch_plan.last_color_block.last_stitch.stop: + # ending with a STOP command is redundant, so remove it + del stitch_plan.last_color_block[-1] + extents = stitch_plan.extents svg = etree.Element("svg", nsmap=inkex.NSS, attrib={ "width": str(extents[0] * 2), diff --git a/lib/stitch_plan/stitch_plan.py b/lib/stitch_plan/stitch_plan.py index c62ebe98..ac6b3b8d 100644 --- a/lib/stitch_plan/stitch_plan.py +++ b/lib/stitch_plan/stitch_plan.py @@ -169,6 +169,12 @@ class ColorBlock(object): def __repr__(self): return "ColorBlock(%s, %s)" % (self.color, self.stitches) + def __getitem__(self, item): + return self.stitches[item] + + def __delitem__(self, item): + del self.stitches[item] + def has_color(self): return self._color is not None -- cgit v1.3.1