diff options
Diffstat (limited to 'lib/stitch_plan')
| -rw-r--r-- | lib/stitch_plan/color_block.py | 9 | ||||
| -rw-r--r-- | lib/stitch_plan/stitch_plan.py | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/stitch_plan/color_block.py b/lib/stitch_plan/color_block.py index 10d199c2..cd7b9c6d 100644 --- a/lib/stitch_plan/color_block.py +++ b/lib/stitch_plan/color_block.py @@ -63,6 +63,15 @@ class ColorBlock(object): return len(self.stitches) @property + def estimated_thread(self): + previous_stitch = self.stitches[0] + length = 0 + for stitch in self.stitches[1:]: + length += (stitch - previous_stitch).length() + previous_stitch = stitch + return length + + @property def num_trims(self): """Number of trims in this color block.""" diff --git a/lib/stitch_plan/stitch_plan.py b/lib/stitch_plan/stitch_plan.py index f6895197..a501391d 100644 --- a/lib/stitch_plan/stitch_plan.py +++ b/lib/stitch_plan/stitch_plan.py @@ -113,7 +113,8 @@ class StitchPlan(object): num_stops=self.num_stops, num_trims=self.num_trims, num_stitches=self.num_stitches, - bounding_box=self.bounding_box + bounding_box=self.bounding_box, + estimated_thread=self.estimated_thread ) @property @@ -148,6 +149,11 @@ class StitchPlan(object): return minx, miny, maxx, maxy @property + def estimated_thread(self): + thread_meter = sum(block.estimated_thread for block in self) / PIXELS_PER_MM / 1000 + return round(thread_meter, 2) + + @property def dimensions(self): minx, miny, maxx, maxy = self.bounding_box return (maxx - minx, maxy - miny) |
