summaryrefslogtreecommitdiff
path: root/lib/elements
diff options
context:
space:
mode:
Diffstat (limited to 'lib/elements')
-rw-r--r--lib/elements/auto_fill.py49
-rw-r--r--lib/elements/fill.py40
-rw-r--r--lib/elements/satin_column.py38
-rw-r--r--lib/elements/stroke.py30
4 files changed, 127 insertions, 30 deletions
diff --git a/lib/elements/auto_fill.py b/lib/elements/auto_fill.py
index 59816878..79220a86 100644
--- a/lib/elements/auto_fill.py
+++ b/lib/elements/auto_fill.py
@@ -30,7 +30,12 @@ class AutoFill(Fill):
return False
@property
- @param('running_stitch_length_mm', _('Running stitch length (traversal between sections)'), unit='mm', type='float', default=1.5)
+ @param('running_stitch_length_mm',
+ _('Running stitch length (traversal between sections)'),
+ tooltip=_('Length of stitches around the outline of the fill region used when moving from section to section.'),
+ unit='mm',
+ type='float',
+ default=1.5)
def running_stitch_length(self):
return max(self.get_float_param("running_stitch_length_mm", 1.5), 0.01)
@@ -40,7 +45,12 @@ class AutoFill(Fill):
return self.get_boolean_param("fill_underlay", default=False)
@property
- @param('fill_underlay_angle', _('Fill angle (default: fill angle + 90 deg)'), unit='deg', group=_('AutoFill Underlay'), type='float')
+ @param('fill_underlay_angle',
+ _('Fill angle'),
+ tooltip=_('default: fill angle + 90 deg'),
+ unit='deg',
+ group=_('AutoFill Underlay'),
+ type='float')
@cache
def fill_underlay_angle(self):
underlay_angle = self.get_float_param("fill_underlay_angle")
@@ -51,35 +61,44 @@ class AutoFill(Fill):
return self.angle + math.pi / 2.0
@property
- @param('fill_underlay_row_spacing_mm', _('Row spacing (default: 3x fill row spacing)'), unit='mm', group=_('AutoFill Underlay'), type='float')
+ @param('fill_underlay_row_spacing_mm',
+ _('Row spacing'),
+ tooltip=_('default: 3x fill row spacing'),
+ unit='mm',
+ group=_('AutoFill Underlay'),
+ type='float')
@cache
def fill_underlay_row_spacing(self):
return self.get_float_param("fill_underlay_row_spacing_mm") or self.row_spacing * 3
@property
- @param('fill_underlay_max_stitch_length_mm', _('Max stitch length'), unit='mm', group=_('AutoFill Underlay'), type='float')
+ @param('fill_underlay_max_stitch_length_mm',
+ _('Max stitch length'),
+ tooltip=_('default: equal to fill max stitch length'),
+ unit='mm',
+ group=_('AutoFill Underlay'), type='float')
@cache
def fill_underlay_max_stitch_length(self):
return self.get_float_param("fill_underlay_max_stitch_length_mm") or self.max_stitch_length
@property
@param('fill_underlay_inset_mm',
- _('Inset'),
- tooltip='Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill.',
- unit='mm',
- group=_('AutoFill Underlay'),
- type='float',
- default=0)
+ _('Inset'),
+ tooltip=_('Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill.'),
+ unit='mm',
+ group=_('AutoFill Underlay'),
+ type='float',
+ default=0)
def fill_underlay_inset(self):
return self.get_float_param('fill_underlay_inset_mm', 0)
@property
@param('expand_mm',
- _('Expand'),
- tooltip='Expand the shape before fill stitching, to compensate for gaps between shapes.',
- unit='mm',
- type='float',
- default=0)
+ _('Expand'),
+ tooltip=_('Expand the shape before fill stitching, to compensate for gaps between shapes.'),
+ unit='mm',
+ type='float',
+ default=0)
def expand(self):
return self.get_float_param('expand_mm', 0)
diff --git a/lib/elements/fill.py b/lib/elements/fill.py
index 8d1d35f2..8018b2b4 100644
--- a/lib/elements/fill.py
+++ b/lib/elements/fill.py
@@ -15,12 +15,22 @@ class Fill(EmbroideryElement):
super(Fill, self).__init__(*args, **kwargs)
@property
- @param('auto_fill', _('Manually routed fill stitching'), type='toggle', inverse=True, default=True)
+ @param('auto_fill',
+ _('Manually routed fill stitching'),
+ tooltip=_('AutoFill is the default method for generating fill stitching.'),
+ type='toggle',
+ inverse=True,
+ default=True)
def auto_fill(self):
return self.get_boolean_param('auto_fill', True)
@property
- @param('angle', _('Angle of lines of stitches'), unit='deg', type='float', default=0)
+ @param('angle',
+ _('Angle of lines of stitches'),
+ tooltip=_('The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed.'),
+ unit='deg',
+ type='float',
+ default=0)
@cache
def angle(self):
return math.radians(self.get_float_param('angle', 0))
@@ -31,12 +41,21 @@ class Fill(EmbroideryElement):
return self.get_style("fill", "#000000")
@property
- @param('flip', _('Flip fill (start right-to-left)'), type='boolean', default=False)
+ @param('flip',
+ _('Flip fill (start right-to-left)'),
+ tooltip=_('The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right.'),
+ type='boolean',
+ default=False)
def flip(self):
return self.get_boolean_param("flip", False)
@property
- @param('row_spacing_mm', _('Spacing between rows'), unit='mm', type='float', default=0.25)
+ @param('row_spacing_mm',
+ _('Spacing between rows'),
+ tooltip=_('Distance between rows of stitches.'),
+ unit='mm',
+ type='float',
+ default=0.25)
def row_spacing(self):
return max(self.get_float_param("row_spacing_mm", 0.25), 0.1 * PIXELS_PER_MM)
@@ -45,12 +64,21 @@ class Fill(EmbroideryElement):
return self.get_float_param("end_row_spacing_mm")
@property
- @param('max_stitch_length_mm', _('Maximum fill stitch length'), unit='mm', type='float', default=3.0)
+ @param('max_stitch_length_mm',
+ _('Maximum fill stitch length'),
+ tooltip=_('The length of each stitch in a row. Shorter stitch may be used at the start or end of a row.'),
+ unit='mm',
+ type='float',
+ default=3.0)
def max_stitch_length(self):
return max(self.get_float_param("max_stitch_length_mm", 3.0), 0.1 * PIXELS_PER_MM)
@property
- @param('staggers', _('Stagger rows this many times before repeating'), type='int', default=4)
+ @param('staggers',
+ _('Stagger rows this many times before repeating'),
+ tooltip=_('Setting this dictates how many rows apart the stitches will be before they fall in the same column position.'),
+ type='int',
+ default=4)
def staggers(self):
return self.get_int_param("staggers", 4)
diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py
index 78275745..834509fd 100644
--- a/lib/elements/satin_column.py
+++ b/lib/elements/satin_column.py
@@ -28,13 +28,23 @@ class SatinColumn(EmbroideryElement):
return self.get_style("stroke")
@property
- @param('zigzag_spacing_mm', _('Zig-zag spacing (peak-to-peak)'), unit='mm', type='float', default=0.4)
+ @param('zigzag_spacing_mm',
+ _('Zig-zag spacing (peak-to-peak)'),
+ tooltip=_('Peak-to-peak distance between zig-zags.'),
+ unit='mm',
+ type='float',
+ default=0.4)
def zigzag_spacing(self):
# peak-to-peak distance between zigzags
return max(self.get_float_param("zigzag_spacing_mm", 0.4), 0.01)
@property
- @param('pull_compensation_mm', _('Pull compensation'), unit='mm', type='float', default=0)
+ @param('pull_compensation_mm',
+ _('Pull compensation'),
+ tooltip=_('Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column.'),
+ unit='mm',
+ type='float',
+ default=0)
def pull_compensation(self):
# In satin stitch, the stitches have a tendency to pull together and
# narrow the entire column. We can compensate for this by stitching
@@ -54,7 +64,13 @@ class SatinColumn(EmbroideryElement):
return max(self.get_float_param("contour_underlay_stitch_length_mm", 1.5), 0.01)
@property
- @param('contour_underlay_inset_mm', _('Contour underlay inset amount'), unit='mm', group=_('Contour Underlay'), type='float', default=0.4)
+ @param('contour_underlay_inset_mm',
+ _('Contour underlay inset amount'),
+ tooltip=_('Shrink the outline, to prevent the underlay from showing around the outside of the satin column.'),
+ unit='mm',
+ group=_('Contour Underlay'),
+ type='float',
+ default=0.4)
def contour_underlay_inset(self):
# how far inside the edge of the column to stitch the underlay
return self.get_float_param("contour_underlay_inset_mm", 0.4)
@@ -77,12 +93,24 @@ class SatinColumn(EmbroideryElement):
return self.get_boolean_param("zigzag_underlay")
@property
- @param('zigzag_underlay_spacing_mm', _('Zig-Zag spacing (peak-to-peak)'), unit='mm', group=_('Zig-zag Underlay'), type='float', default=3)
+ @param('zigzag_underlay_spacing_mm',
+ _('Zig-Zag spacing (peak-to-peak)'),
+ tooltip=_('Distance between peaks of the zig-zags.'),
+ unit='mm',
+ group=_('Zig-zag Underlay'),
+ type='float',
+ default=3)
def zigzag_underlay_spacing(self):
return max(self.get_float_param("zigzag_underlay_spacing_mm", 3), 0.01)
@property
- @param('zigzag_underlay_inset_mm', _('Inset amount (default: half of contour underlay inset)'), unit='mm', group=_('Zig-zag Underlay'), type='float', default="")
+ @param('zigzag_underlay_inset_mm',
+ _('Inset amount'),
+ tooltip=_('default: half of contour underlay inset'),
+ unit='mm',
+ group=_('Zig-zag Underlay'),
+ type='float',
+ default="")
def zigzag_underlay_inset(self):
# how far in from the edge of the satin the points in the zigzags
# should be
diff --git a/lib/elements/stroke.py b/lib/elements/stroke.py
index bc2ee54c..e84d5e79 100644
--- a/lib/elements/stroke.py
+++ b/lib/elements/stroke.py
@@ -27,7 +27,13 @@ class Stroke(EmbroideryElement):
return self.get_style("stroke-dasharray") is not None
@property
- @param('running_stitch_length_mm', _('Running stitch length'), unit='mm', type='float', default=1.5, sort_index=3)
+ @param('running_stitch_length_mm',
+ _('Running stitch length'),
+ tooltip=_('Length of stitches in running stitch mode.'),
+ unit='mm',
+ type='float',
+ default=1.5,
+ sort_index=3)
def running_stitch_length(self):
return max(self.get_float_param("running_stitch_length_mm", 1.5), 0.01)
@@ -42,13 +48,24 @@ class Stroke(EmbroideryElement):
return self.get_int_param("bean_stitch_repeats", 0)
@property
- @param('zigzag_spacing_mm', _('Zig-zag spacing (peak-to-peak)'), unit='mm', type='float', default=0.4, sort_index=3)
+ @param('zigzag_spacing_mm',
+ _('Zig-zag spacing (peak-to-peak)'),
+ tooltip=_('Length of stitches in zig-zag mode.'),
+ unit='mm',
+ type='float',
+ default=0.4,
+ sort_index=3)
@cache
def zigzag_spacing(self):
return max(self.get_float_param("zigzag_spacing_mm", 0.4), 0.01)
@property
- @param('repeats', _('Repeats'), type='int', default="1", sort_index=1)
+ @param('repeats',
+ _('Repeats'),
+ tooltip=_('Defines how many times to run down and back along the path.'),
+ type='int',
+ default="1",
+ sort_index=1)
def repeats(self):
return self.get_int_param("repeats", 1)
@@ -68,7 +85,12 @@ class Stroke(EmbroideryElement):
return shapely.geometry.MultiLineString(line_strings)
@property
- @param('manual_stitch', _('Manual stitch placement'), tooltip=_("Stitch every node in the path. Stitch length and zig-zag spacing are ignored."), type='boolean', default=False, sort_index=0)
+ @param('manual_stitch',
+ _('Manual stitch placement'),
+ tooltip=_("Stitch every node in the path. Stitch length and zig-zag spacing are ignored."),
+ type='boolean',
+ default=False,
+ sort_index=0)
def manual_stitch_mode(self):
return self.get_boolean_param('manual_stitch')