[AutoCAD DXF] Incorrect processing of Ellipses with negative extrusion
|Reported by:||ju420xt5z||Owned by:||warmerdam|
Description (last modified by )
I have 2 partial ellipses (i.e. ellipses with start and end angles) inside a DXF (attached file "sampleb_input.dxf"). The ellipses come from a much bigger DXF but the issue can be seen from just this sample. The ellipses are at the correct position when looked at with AutoCAD.
I am running the following command: ogr2ogr -f "DXF" sampleb_output.dxf sampleb_input.dxf
The result I obtain is wrong (attached file "sampleb_output.dxf"), as can be verified in AutoCAD. Basically, one of the ellipses in the output has a wrong angle and its X coordinates are wrong. I would expect the same visual result as the input. The issue can also be seen when converting to a format other than DXF (for example SHP).
Doing some investigation inside the input DXF using a text editor, I saw that the ellipse that converts correctly has a Z extrusion axis value (group code 230) of 1.0, whereas the ellipse that was not converted correctly has a Z extrusion axis value of -1.0. I have then done a test when I reversed its Z extrusion axis (from -1.0 to 1.0) and switched+reversed the start and end angles (group codes 41 and 42) in attached file "sampleb_input-mod.dxf". Then the conversion of the previously incorrect ellipse is done correctly (attached file "sampleb_output-mod.dxf"). Visually, the input and ouput are the same, as well as identical to the original input DXF file.
So it seems that, when the Z direction is -1, on top of having to rotate the points of the ellipse to align with the direction of major axis, the Y axis must also be reversed. Maybe a transformation to the new coordinate system :
Direction of new X axis = endpoint of major axis Direction of new Z axis = extrusion direction Direction of new Y axis = [new Z axis] cross product [new X axis]
(if Z is 1, then no reversion of the Y axis)
And there seems to be no OCS transformation to apply (the default 0,0,1 extrusion axis results in the identity OCS transformation).
Change History (8)
comment:2 Changed 2 years ago by
|Summary:||[AutoCAD DXF] Processing of Ellipses with negative extrusion → [AutoCAD DXF] Incorrect processing of Ellipses with negative extrusion|