From f5939d6341f68d5fa94e1f78e02cf4fb1fad0de2 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Sun, 7 Jul 2024 23:19:32 +0200 Subject: Set redwork underpath style to dashed (#3053) * set redwork underpath style to dashed * unset dashes for top stitching paths * update select elements template --- lib/extensions/redwork.py | 14 ++++++-------- lib/stitches/auto_run.py | 5 ++++- templates/select_elements.xml | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/extensions/redwork.py b/lib/extensions/redwork.py index 3698b9bf..7f4492de 100644 --- a/lib/extensions/redwork.py +++ b/lib/extensions/redwork.py @@ -5,14 +5,13 @@ import networkx as nx from inkex import Group, Path, PathElement, errormsg -from shapely import unary_union, length +from shapely import length, unary_union from shapely.geometry import LineString, MultiLineString, Point from shapely.ops import linemerge, nearest_points, substring from ..elements import Stroke from ..i18n import _ from ..svg import PIXELS_PER_MM, get_correction_transform -from ..svg.tags import INKSTITCH_ATTRIBS from ..utils.geometry import ensure_multi_line_string from .base import InkstitchExtension @@ -33,11 +32,8 @@ class Redwork(InkstitchExtension): self.elements = None self.graph = None self.connected_components = None - self.eulerian_circuits = None self.merge_distance = None self.minimum_path_length = None - self.redwork_running_stitch_length_mm = None - self.redwork_bean_stitch_repeats = None def effect(self): if not self.get_elements(): @@ -92,7 +88,6 @@ class Redwork(InkstitchExtension): return command.target_point def _eulerian_circuits_to_elements(self, elements): - node = elements[0].node index = node.getparent().index(node) style = node.style @@ -150,10 +145,13 @@ class Redwork(InkstitchExtension): ) element.label = label - element.set(INKSTITCH_ATTRIBS['running_stitch_length_mm'], self.options.redwork_running_stitch_length_mm) + element.set('inkstitch:running_stitch_length_mm', self.options.redwork_running_stitch_length_mm) if redwork: - element.set(INKSTITCH_ATTRIBS['bean_stitch_repeats'], self.options.redwork_bean_stitch_repeats) + element.set('inkstitch:bean_stitch_repeats', self.options.redwork_bean_stitch_repeats) + element.style['stroke-dasharray'] = 'none' + else: + element.style['stroke-dasharray'] = '2 1.1' group.add(element) diff --git a/lib/stitches/auto_run.py b/lib/stitches/auto_run.py index b8ab84c7..38e05305 100644 --- a/lib/stitches/auto_run.py +++ b/lib/stitches/auto_run.py @@ -271,14 +271,18 @@ def create_element(path, position, direction, element): index = position + 1 if direction == "autorun": label = _("AutoRun %d") % index + dasharray = 'none' else: label = _("AutoRun Underpath %d") % index + dasharray = '2 1.1' node = inkex.PathElement() node.set("id", generate_unique_id(element.node, el_id)) node.set(INKSCAPE_LABEL, label) node.set("d", path) node.set("style", element.node.style) + node.style["fill"] = 'none' + node.style["stroke-dasharray"] = dasharray # Set Ink/Stitch attributes stitch_length = element.node.get(INKSTITCH_ATTRIBS['running_stitch_length_mm'], '') @@ -299,7 +303,6 @@ def create_element(path, position, direction, element): 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) diff --git a/templates/select_elements.xml b/templates/select_elements.xml index 1f99391c..68ff78c5 100644 --- a/templates/select_elements.xml +++ b/templates/select_elements.xml @@ -14,9 +14,9 @@ - - - + + + 0 false -- cgit v1.2.3