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

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

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

   运行效果如下:


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

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值