mozman / ezdxf

Python interface to DXF
https://ezdxf.mozman.at
MIT License
905 stars 189 forks source link

ezdxf.npshapes.EmptyShapeError: empty shape has no extends #1096

Closed SI-IC closed 3 months ago

SI-IC commented 3 months ago

Hello there,

I've converted a dxf file from dwg using AutoCAD and it opens without any issues in AutoCAD. However, when I attempt to view or draw with ezdxf, I receive an error:

File "/Users/alex/.pyenv/versions/3.11.9/bin/ezdxf", line 8, in sys.exit(main()) ^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/main.py", line 114, in main run(args) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/commands.py", line 500, in run viewer.set_document( File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/qtviewer.py", line 464, in set_document self._cad.set_document(document, layout=layout, draw=draw) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/qtviewer.py", line 274, in set_document self.draw_layout(layout) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/qtviewer.py", line 301, in draw_layout self._create_frontend().draw_layout(layout) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 299, in draw_layout self.draw_entities( File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 342, in draw_entities _draw_entities(self, self.ctx, entities, filter_func=filter_func) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 1021, in _draw_entities frontend.draw_entity(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 387, in draw_entity self.draw_composite_entity(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 908, in draw_composite_entity draw_insert(entity) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 888, in draw_insert self.draw_entities( File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 342, in draw_entities _draw_entities(self, self.ctx, entities, filter_func=filter_func) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 1021, in _draw_entities frontend.draw_entity(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 387, in draw_entity self.draw_composite_entity(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 908, in draw_composite_entity draw_insert(entity) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 888, in draw_insert self.draw_entities( File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 342, in draw_entities _draw_entities(self, self.ctx, entities, filter_func=filter_func) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 1021, in _draw_entities frontend.draw_entity(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 369, in draw_entity draw_method(entity, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/frontend.py", line 862, in draw_polyline_entity self.pipeline.draw_filled_polygon(points, properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/pipeline.py", line 410, in draw_filled_polygon self._pipeline.draw_filled_polygon(BkPoints2d(points), properties) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/addons/drawing/pipeline.py", line 489, in draw_filled_polygon for points in clipping_portal.clip_polygon(points): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/tools/clipping_portal.py", line 182, in clip_polygon self.foreach_stage(do) File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/tools/clipping_portal.py", line 126, in foreach_stage if not command(stage): ^^^^^^^^^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/tools/clipping_portal.py", line 178, in do result.extend(stage.portal.clip_polygon(polygon)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/tools/clipping_portal.py", line 355, in clip_polygon return super().clip_polygon(points) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/tools/clipping_portal.py", line 263, in clip_polygon polygon_bbox = BoundingBox2d(points.extents()) ^^^^^^^^^^^^^^^^ File "/Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf/npshapes.py", line 84, in extents raise EmptyShapeError("empty shape has no extends") ezdxf.npshapes.EmptyShapeError: empty shape has no extends

Can you please help me? Thank you in advance.

P.s.

ezdxf -V
ezdxf 1.3.1b0 from /Users/alex/.pyenv/versions/3.11.9/lib/python3.11/site-packages/ezdxf
Python version: 3.11.9 (main, May 30 2024, 14:30:53) [Clang 15.0.0 (clang-1500.3.9.4)]
using C-extensions: yes
SI-IC commented 3 months ago

@mozman Good day. Is there any possibility of fixing this bug?

mozman commented 3 months ago

@SI-IC This bug was fixed in commit 8db35cd, if that works for you, you can close this issue.