Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An issue on some MULTILEADER explosion #793

Closed
IvanKachaikinCendas opened this issue Dec 12, 2022 · 4 comments
Closed

An issue on some MULTILEADER explosion #793

IvanKachaikinCendas opened this issue Dec 12, 2022 · 4 comments

Comments

@IvanKachaikinCendas
Copy link

IvanKachaikinCendas commented Dec 12, 2022

Hi @mozman ! As usual, thanks first of all for your amazing package :)

I found some new issue while trying to explode some MULTILEADER found in an external DXF. More specifically, the following exception occurs:
ezdxf.proxygraphic.ProxyGraphicError: Proxy graphic error: Unexpected end of buffer.
Please let me know if you would like the full stack trace.

To Reproduce

  1. Download a DXF file provided below, then run the following code
import ezdxf
drawing = ezdxf.readfile('broken_mleader.dxf')
msp = drawing.modelspace()
mleader = msp.query('MULTILEADER').entities[0]
mleader.explode()
  1. Information about the ezdxf version and the OS: ezdxf==1.0.0, works in the same way on Windows and MacOS.
  2. A simplified and zipped DXF file which still triggers the error: available below.
    broken_mleader.zip

Once again, not sure if you can fix it somehow on ezdxf end or it is rather undocumented strange DXF mechanics, but in any case thanks for taking this issue into account and please let me know if you need any additional detail :)

@mozman
Copy link
Owner

mozman commented Dec 13, 2022

This is a known issue for LWPOLYLINE entities in proxy graphic.

The proxy graphics format is not documented in Autodesk's DXF reference. The Open Design Alliance provides some information about this format in their DWG documentation, but the part describing LWPOLYLINE is a bit confusing and ultimately only refers to the regular DWG LWPOLYLINE entity, which does not work as expected.

I have no idea when and how to solve this problem but feel free to post more examples like this here as I don't have many for it and any additional example can help to test and solve this problem.

EDIT:

If you wonder which part of the MULTILEADER is the LWPOLYLINE, the filled circle "arrow" is represented by a closed LWPOLYLINE of two points with semi-circle bulges and a constant width of 70 in this case:

image

@IvanKachaikinCendas
Copy link
Author

Hi @mozman! Looks good, thanks a lot for your feedback and for your fix! It seems that it resolved my issue, many thanks! :)

Regarding additional examples, sure! Will send them to you here or will create a new issue if you prefer to close this one, if I find any other of them later :)

@mozman
Copy link
Owner

mozman commented Dec 13, 2022

You can close this issue, because this problem seems to be solved, if another issue occurs it is most likely a new one.

@IvanKachaikinCendas
Copy link
Author

@mozman Ok let's do so in that case. Thanks once again for resolving this issue :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants