DXF官方帮助:https://help.autodesk.com/view/OARX/2019/ENU/

网络可以搜索到非常多的dxf解析博客,但是几乎没有人能完整地实现polyline/spline/ellipse等复杂图形的解析和绘制。

因为dxf的解析较为复杂,涉及的元素很多,例如block解析,图形平移,缩放,参照系坐标等等,另外还有polyline/spline/ellipse等复杂图形,而polyline又存在凸度的问题需要解决。

dxflib开源库实现了dxf文件的解析。所有的图元解析完后,都会通过DL_CreationAdapter的虚函数接口回调,所以我们要继承这个类,重写想绘制的图元的方法,比如直线对应的就是virtual void addLine(const DL_LineData&); 这个DL_LineData结构体数据保存的就是我们要绘制直线的数据。
本人使用dxflib开源库,连续奋战,克服重重困难,终于实现了以下元素的解析和绘制:

元素:point、line、circle、arc、polyline、spline、ellipse、text

其他:layer、block、insert、min、max

绘制图形,使用了opencv,把dxf转化成为png文件。以下举例说明:

图1:涵盖了上述的所有元素

AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)

图2:椭圆和样条曲线

AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)

图3:polyLine多线实体,注意四个角的倒角圆弧,就是凸度计算得来

AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)

图4:图形旋转平移缩放的经典案例

AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)

exe可执行程序可以打开链接下载运行:

https://download.csdn.net/download/libaineu2004/11116778

鼠标双击运行run.dat即可。支持WinXP/Win7/Win10系统。运行之后dxfparse.exe会把dxf解析并转化成png图片格式。run.dat可以使用txt文本打开编辑,里面可以修改dxf文件路径。

作者的联系方式:

[email protected]

相关文章:

  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-02-15
  • 2021-05-03
  • 2022-12-23
  • 2021-07-30
猜你喜欢
  • 2021-11-23
  • 2021-11-02
  • 2021-06-12
  • 2021-12-27
  • 2021-04-06
  • 2021-12-10
  • 2021-12-10
相关资源
相似解决方案