summaryrefslogtreecommitdiff
path: root/lib/extensions
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2019-07-06 11:24:56 +0200
committerGitHub <noreply@github.com>2019-07-06 11:24:56 +0200
commit1b18d915a91f838dce7126d80674e3207efe6374 (patch)
tree55c8b9a3107b05cc1c5174cdba19aa6c524dd7d0 /lib/extensions
parent62d4e35be91b04d71c560a73d5f4c510606388d7 (diff)
use get_pattern_interpolate_trim
This has the same inaccuracy as the previous version, but we can actually use a pyembroidery function to turn a specific number of jumps into trims.
Diffstat (limited to 'lib/extensions')
-rw-r--r--lib/extensions/input.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/extensions/input.py b/lib/extensions/input.py
index a8402fdc..bfb488f1 100644
--- a/lib/extensions/input.py
+++ b/lib/extensions/input.py
@@ -12,6 +12,7 @@ class Input(object):
def affect(self, args):
embroidery_file = args[0]
pattern = pyembroidery.read(embroidery_file)
+ pattern = pattern.get_pattern_interpolate_trim(2)
stitch_plan = StitchPlan()
color_block = None
@@ -19,20 +20,14 @@ 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:
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
+ if len(color_block) > 0 and command == pyembroidery.TRIM:
+ trim_after = True
extents = stitch_plan.extents
svg = etree.Element("svg", nsmap=inkex.NSS, attrib={