diff options
Diffstat (limited to 'lib/extensions')
| -rw-r--r-- | lib/extensions/input.py | 19 | ||||
| -rw-r--r-- | lib/extensions/layer_commands.py | 2 |
2 files changed, 15 insertions, 6 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={ diff --git a/lib/extensions/layer_commands.py b/lib/extensions/layer_commands.py index c124ec95..e710e351 100644 --- a/lib/extensions/layer_commands.py +++ b/lib/extensions/layer_commands.py @@ -21,7 +21,7 @@ class LayerCommands(CommandsExtension): correction_transform = get_correction_transform(self.current_layer, child=True) for i, command in enumerate(commands): - ensure_symbol(command) + ensure_symbol(self.document, command) inkex.etree.SubElement(self.current_layer, SVG_USE_TAG, { |
