From c712473064c251174395e65c156b9265fab68448 Mon Sep 17 00:00:00 2001 From: jaseg Date: Thu, 18 Dec 2025 16:51:41 +0100 Subject: [PATCH] Fix missing vertex bug when turns align with start --- src/kicoil/skeletonator.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/kicoil/skeletonator.py b/src/kicoil/skeletonator.py index bad6c63..619f524 100644 --- a/src/kicoil/skeletonator.py +++ b/src/kicoil/skeletonator.py @@ -277,15 +277,18 @@ class Skeletonator: point_angles.append(angle) angle += edge_angle point_angles += [a+1 for a in point_angles] + point_angles += [point_angles[0] + 2] - for (p1, p2), (tp1, tp2) in zip(self.poly_edges * 2, itertools.pairwise(point_angles)): + i = 0 + for (p1, p2), (tp1, tp2) in zip(self.poly_edges * 3, itertools.pairwise(point_angles)): + i += 1 rp1 = r_interpolate(tp1) rp2 = r_interpolate(tp2) _arc, p1_proj = self.project_arc(p1, rp1) _arc, p2_proj = self.project_arc(p2, rp2) - if tp2 < t_start: + if tp2 < t_start and not math.isclose(tp2, t_start): continue - if tp1 > t_end: + if tp1 > t_end and not math.isclose(tp1, t_end): continue if approx_in_range(t1, tp1, tp2):