From 9c537f33b9eb4d015316a7867a9e6d1eda6cd70c Mon Sep 17 00:00:00 2001 From: rejbasket <39080670+rejbasket@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:20:10 +0200 Subject: shapely arm fix (#3094) --- lib/elements/satin_column.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/elements/satin_column.py') diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py index 5aa7652c..7c29729d 100644 --- a/lib/elements/satin_column.py +++ b/lib/elements/satin_column.py @@ -12,6 +12,7 @@ import numpy as np from inkex import paths from shapely import affinity as shaffinity from shapely import geometry as shgeo +from shapely import set_precision from shapely.ops import nearest_points from ..debug.debug import debug @@ -572,7 +573,7 @@ class SatinColumn(EmbroideryElement): @cache def flattened_rails(self): """The rails, as LineStrings.""" - paths = [shgeo.LineString(self.flatten_subpath(rail)) for rail in self.rails] + paths = [set_precision(shgeo.LineString(self.flatten_subpath(rail)), 0.00001) for rail in self.rails] rails_to_reverse = self._get_rails_to_reverse() if paths and rails_to_reverse is not None: @@ -698,7 +699,6 @@ class SatinColumn(EmbroideryElement): rails = list(self.flattened_rails) rungs = self.flattened_rungs cut_points = [[], []] - for rung in rungs: intersections = rung.intersection(shgeo.MultiLineString(rails)) # ignore the rungs that are cutting a rail multiple times -- cgit v1.2.3