From 03bc909abb92444dd80993423e0bfd4d7e5dd6e3 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Mon, 13 May 2024 16:49:31 +0200 Subject: [PATCH] fix invalid clip paths (#2897) --- lib/svg/clip.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/svg/clip.py b/lib/svg/clip.py index 36c739476..f2c772222 100644 --- a/lib/svg/clip.py +++ b/lib/svg/clip.py @@ -14,5 +14,8 @@ def get_clip_path(node): transform = node.composed_transform() clip.transform = transform clip_element = EmbroideryElement(clip) - clip_element.paths.sort(key=lambda point_list: Polygon(point_list).area, reverse=True) - return MultiPolygon([(clip_element.paths[0], clip_element.paths[1:])]) + clip_paths = [path for path in clip_element.paths if len(path) > 3] + clip_paths.sort(key=lambda point_list: Polygon(point_list).area, reverse=True) + if clip_paths: + return MultiPolygon([(clip_paths[0], clip_paths[1:])]) + return MultiPolygon()