DXF Parser:椭圆角度方向

ing*_*ham 16 parsing autocad dxf

我编写了自己的ASCII DXF文件解析器,在某些特定文档中遇到省略号问题.

似乎没有"组代码"定义开始和结束参数的角度方向(顺时针或逆时针).在大多数情况下,它是逆时针方向,但并非在所有情况下......

为简化起见,这是一个视觉例子:

在ellipse1的 则ellipse2

如你所见,第一个的起始角度为135,第二个的起始角度为45 ......但是,椭圆似乎是相同的(半圆形,在左侧)......这是因为第一个角度是顺时针方向,第二个角度是逆时针方向......

显然,它们在AutoCAD中正确显示,但是使用我的解析器,它们看起来像这样:

Ellipse3

仅仅因为我不知道角度是CW还是CCW ......

我错过了团体代码吗?

信息:在AutoCAD中,我可以看到第一个椭圆"Minor Axis Endpoint"是[200,-200,0],而第二个椭圆是[-200,200,0],我想这就是AutoCAD如何知道角度是CW或CCW ......但我在DXF文件中的所有内容都是"主轴端点"和"主轴到次轴比"(数字)

以下是与此示例对应的DXF文件:http://www.woofiles.com/dl-279966-ZvoMjamr-c.dxf

ing*_*ham 5

解决:我忘了考虑挤压向量

当它为负 (0,0,-1) 时,角度必须被视为 CCW 而不是 CW(反之亦然)