blob: ff5a68acaed085de5b5a6f38c587a2013489f273 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import pyembroidery
from .stitch_plan import StitchPlan
from ..svg import PIXELS_PER_MM
def stitch_plan_from_file(embroidery_file):
"""Read a machine embroidery file in any supported format and return a stitch plan."""
pattern = pyembroidery.read(embroidery_file)
stitch_plan = StitchPlan()
color_block = None
for raw_stitches, thread in pattern.get_as_colorblocks():
color_block = stitch_plan.new_color_block(thread)
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))
return stitch_plan
|