我编写了自己的 ASCII DXF 文件解析器,但在某些特定文档中遇到了省略号的问题。
似乎没有定义开始和结束参数的角度方向(顺时针或逆时针)的“组代码”。
在大多数情况下,它是逆时针的,但并非在所有情况下......
为简化起见,这是一个视觉示例:
如您所见,第一个的起始角度为 135,第二个的起始角度为 45...
但是,椭圆似乎是相同的(半圆,在左边)......这是因为第一个的角度是顺时针的,而第二个的角度是逆时针的......
显然,它们在 AutoCAD 中正确显示,但使用我的解析器,它们看起来像这样:
只是因为我不知道角度是用CW还是CCW表示......
我错过了组代码还是什么?
信息:在 AutoCAD 中,我可以看到第一个椭圆“短轴端点”是 [200, -200, 0],而第二个是 [-200, 200, 0],我想这就是 AutoCAD 知道角度是 CW 或 CCW ......但我在 DXF 文件中只有“长轴端点”和“长轴与短轴比”(一个数字)
以下是与此示例对应的 DXF 文件:http://www.woofiles.com/dl-279966-ZvoMjamr-c.dxf
最佳答案
已解决:我忘了考虑挤压矢量
当它为负数 (0,0,-1) 时,必须将角度视为 CCW 而不是 CW(反之亦然)
关于parsing - DXF 解析器 : Ellipses angle direction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972925/