diff options
| author | Kaalleen <36401965+kaalleen@users.noreply.github.com> | 2024-05-13 16:49:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-13 16:49:31 +0200 |
| commit | 03bc909abb92444dd80993423e0bfd4d7e5dd6e3 (patch) | |
| tree | ecfe4a7400b31a7f4dfb46324af8d1f1080238e8 /lib | |
| parent | 7137863b601ee1891a702ce3c75dc98ddbe8e89d (diff) | |
fix invalid clip paths (#2897)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/svg/clip.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/svg/clip.py b/lib/svg/clip.py index 36c73947..f2c77222 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() |
