From 9ca70886513b1d91bcdb7276bc8bc7b24ebc6091 Mon Sep 17 00:00:00 2001 From: George Steel Date: Sun, 22 Jan 2023 03:05:51 -0500 Subject: Replace running stitch algorithm to give consistent stitch lengths. --- lib/elements/stroke.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'lib/elements') diff --git a/lib/elements/stroke.py b/lib/elements/stroke.py index 73973bf7..6aca3847 100644 --- a/lib/elements/stroke.py +++ b/lib/elements/stroke.py @@ -432,21 +432,20 @@ class Stroke(EmbroideryElement): return patch def running_stitch(self, path, stitch_length, tolerance): - repeated_path = [] + stitches = running_stitch(path, stitch_length, tolerance) + repeated_stitches = [] # go back and forth along the path as specified by self.repeats for i in range(self.repeats): if i % 2 == 1: # reverse every other pass - this_path = path[::-1] + this_path = stitches[::-1] else: - this_path = path[:] + this_path = stitches[:] - repeated_path.extend(this_path) + repeated_stitches.extend(this_path) - stitches = running_stitch(repeated_path, stitch_length, tolerance) - - return StitchGroup(self.color, stitches) + return StitchGroup(self.color, repeated_stitches) def ripple_stitch(self): return StitchGroup( -- cgit v1.2.3 From c56180fb99b94878fb16ac6d78e0eec63bc58ce0 Mon Sep 17 00:00:00 2001 From: George Steel Date: Sun, 22 Jan 2023 14:50:26 -0500 Subject: fix reversed contour underlay --- lib/elements/satin_column.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/elements') diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py index 12261e15..e935a9d7 100644 --- a/lib/elements/satin_column.py +++ b/lib/elements/satin_column.py @@ -873,9 +873,11 @@ class SatinColumn(EmbroideryElement): pairs = self.plot_points_on_rails( self.contour_underlay_stitch_length, -self.contour_underlay_inset_px, -self.contour_underlay_inset_percent/100) - stitches = [p[0] for p in pairs] + [p[1] for p in reversed(pairs)] + if self._center_walk_is_odd(): - stitches = list(reversed(stitches)) + stitches = [p[0] for p in reversed(pairs)] + [p[1] for p in pairs] + else: + stitches = [p[1] for p in pairs] + [p[0] for p in reversed(pairs)] return StitchGroup( color=self.color, -- cgit v1.2.3