summaryrefslogtreecommitdiff
path: root/lib/stitch_plan/stop.py
diff options
context:
space:
mode:
authorLex Neva <lexelby@users.noreply.github.com>2018-05-19 14:41:50 -0400
committerGitHub <noreply@github.com>2018-05-19 14:41:50 -0400
commit9dadd836e2f09b0216f7b40c782e2b55bcc90dee (patch)
tree128b6f13ea682a8e5a033370ab2e13388801f100 /lib/stitch_plan/stop.py
parentba7288d8fcd62678bd17d8fab01d0d488d9e21e8 (diff)
parent6fe417cd64090f028c0d07b799620eb94637bf33 (diff)
Merge pull request #163 from lexelby/lexelby-single-extension
single code entry point
Diffstat (limited to 'lib/stitch_plan/stop.py')
-rw-r--r--lib/stitch_plan/stop.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/stitch_plan/stop.py b/lib/stitch_plan/stop.py
new file mode 100644
index 00000000..c5e9f7e4
--- /dev/null
+++ b/lib/stitch_plan/stop.py
@@ -0,0 +1,27 @@
+def process_stop(color_block):
+ """Handle the "stop after" checkbox.
+
+ The user wants the machine to pause after this patch. This can
+ be useful for applique and similar on multi-needle machines that
+ normally would not stop between colors.
+
+ On such machines, the user assigns needles to the colors in the
+ design before starting stitching. C01, C02, etc are normal
+ needles, but C00 is special. For a block of stitches assigned
+ to C00, the machine will continue sewing with the last color it
+ had and pause after it completes the C00 block.
+
+ That means we need to introduce an artificial color change
+ shortly before the current stitch so that the user can set that
+ to C00. We'll go back 3 stitches and do that:
+ """
+
+ if len(color_block.stitches) >= 3:
+ color_block.stitches[-3].stop = True
+
+ # and also add a color change on this stitch, completing the C00
+ # block:
+
+ color_block.stitches[-1].stop = True
+
+ # reference for the above: https://github.com/lexelby/inkstitch/pull/29#issuecomment-359175447