diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/elements/fill_stitch.py | 2 | ||||
| -rw-r--r-- | lib/extensions/convert_to_satin.py | 5 | ||||
| -rw-r--r-- | lib/stitches/auto_run.py | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/lib/elements/fill_stitch.py b/lib/elements/fill_stitch.py index a0ab0d33..ad2b5372 100644 --- a/lib/elements/fill_stitch.py +++ b/lib/elements/fill_stitch.py @@ -269,6 +269,8 @@ class FillStitch(EmbroideryElement): if isinstance(valid_shape, shgeo.Polygon): return shgeo.MultiPolygon([valid_shape]) + if isinstance(valid_shape, shgeo.LineString): + return shgeo.MultiPolygon([]) polygons = [] for polygon in valid_shape.geoms: diff --git a/lib/extensions/convert_to_satin.py b/lib/extensions/convert_to_satin.py index 9950b2e8..93850789 100644 --- a/lib/extensions/convert_to_satin.py +++ b/lib/extensions/convert_to_satin.py @@ -35,12 +35,15 @@ class ConvertToSatin(InkstitchExtension): inkex.errormsg(_("Please select at least one line to convert to a satin column.")) return - if not all(isinstance(item, Stroke) for item in self.elements): + if not any(isinstance(item, Stroke) for item in self.elements): # L10N: Convert To Satin extension, user selected one or more objects that were not lines. inkex.errormsg(_("Only simple lines may be converted to satin columns.")) return for element in self.elements: + if not isinstance(element, Stroke): + continue + parent = element.node.getparent() index = parent.index(element.node) correction_transform = get_correction_transform(element.node) diff --git a/lib/stitches/auto_run.py b/lib/stitches/auto_run.py index ab5762a3..ff26eb16 100644 --- a/lib/stitches/auto_run.py +++ b/lib/stitches/auto_run.py @@ -270,6 +270,7 @@ def create_element(path, position, direction, element): # Set Ink/Stitch attributes stitch_length = element.node.get(INKSTITCH_ATTRIBS['running_stitch_length_mm'], '') + tolerance = element.node.get(INKSTITCH_ATTRIBS['running_stitch_tolerance_mm'], '') repeats = int(element.node.get(INKSTITCH_ATTRIBS['repeats'], 1)) if repeats % 2 == 0: repeats -= 1 @@ -284,6 +285,8 @@ def create_element(path, position, direction, element): else: if stitch_length: node.set(INKSTITCH_ATTRIBS['running_stitch_length_mm'], stitch_length) + if tolerance: + node.set(INKSTITCH_ATTRIBS['running_stitch_tolerance_mm'], tolerance) node.set("style", element.node.style + inkex.Style("stroke-dasharray:0.5,0.5;fill:none;")) return Stroke(node) |
