基于开源dxflib解析库的dxf文件显示

来源:互联网 发布:php 微信扫码支付接口 编辑:程序博客网 时间:2024/06/06 05:17

   dxflib实现了dxf文件的解析。所有的图元解析完后,都会通过DL_CreationAdapter的虚函数接口回调,所以我们要继承这个类,重写那些想绘制的图元的方法,比如直线对应的就是virtual void addLine(const DL_LineData&); 这个DL_LineData结构体数据保存的就是我们要绘制直线的数据。

   绘制我用的是MFC的CDC,双缓冲机制。先把根据数据把所有的图元绘制到内存缓冲中,再一次拷到窗口DC中。值得注意是平移和放大以及坐标系转换。因为应用程序的左上角是原点(0,0),面我们需要显示给人看的是Y轴正方向是屏幕由下往上。(屏幕实际Y方向是由上往下)。只实现了点,直线,圆,圆弧,多边形,样条曲线(包括用控制点,和顶点两种),以及单行文本。 像线型,线条颜色,多行文本,椭圆这些都是没有实现。但是DXFLIB这些信息有解析出来,只需要按照规则理论上都是可以实现的。

   运行效果如下:


上图局部放大后效果如下:



其它效果:



工具下载链接:http://download.csdn.net/detail/hahawaterbox/9681060

0 2
原创粉丝点击