工控领域的制图软件仍然以AutoCAD为主,很多时候我们希望上位机软件可以读取CAD的图纸文件,从而控制设备按照绘制的路线进行运行,今天给大家分享的是如何使用C#读取DXF文件并进行显示。

公众号:【dotNet工控上位机:thinger_swj】

1. 准备工作

如果想通过C#读取DXF文件,首先需要使用AutoCAD生成一些DXF文件,接着使用VS2019创建一个Windows窗体应用。

2. 安装netDXF包

1、打开VS的工具 >> NuGet包管理器 >> 管理解决方案的NuGet程序包;

2、在浏览选项卡中,搜索框中输入“netDXF”,得到结果如下图所示:

3、选择安装的项目,并单击安装,注意netDXF安装包的.net framework版本。

3. 读取DXF文件

(1)新建一个DxfDocument对象,在打开文件的按钮事件中,调用Load方法读取选择路径下的dxf文件:

(2)加载完成后将文件中的Line、Arc、Circle信息显示在DataGridView中:

(3)显示结果:

4. 显示图形

(1) 界面上添加一个PictureBox控件,先绘制一下表格:

(2) 绘制结果如下图所示:

(3) 基于GDI+绘制Line:

(4) 基于GDI+绘制Arc:

(5) 基于GDI+绘制Circle:

(6) 显示结果:

5. 平移、放大、缩小

完成图形显示后,增加鼠标平移、放大及缩小功能,添加以下四个鼠标事件:

(1)鼠标MouseDown事件:

(2)鼠标MouseUp事件:

(3)鼠标MouseMove事件:

(4)鼠标MouseWheel事件:

最新文章

  1. python中list作为全局变量无需global声明的原因
  2. 深入探索RB-tree数据结构
  3. .netcore跨平台 之 windows上编译,ubuntu上运行
  4. Android 手机卫士--自定义控件(获取焦点的TextView)
  5. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
  6. Effective Objective-C 2.0 — 第9条:以“类族模式”隐藏实现细节
  7. iOS:获取图片Alpha图片
  8. pom.xml配置文件配置jar(不用记,快速配置)
  9. java oop详解
  10. 关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
  11. FCC(ES6写法) Inventory Update
  12. 用Jmeter进行接口测试
  13. mysql5.7.20 windows 解压缩版安装
  14. [转]windows中断与共享的连接(samba)
  15. TZOJ 4244 Sum(单调栈区间极差)
  16. 利用Google开源Java容器化工具Jib构建镜像
  17. 萌新接触前端的第三课——JavaScript
  18. Android四大组件之——ContentProvider(一)
  19. 脚本控制animation的事件
  20. windows下MySQL的安装(非安装包)

热门文章

  1. JavaScript实现html购物车代码
  2. Android中如何使用列表对话框
  3. mysql数据库运维方案
  4. jstat监控JVM内存使用、GC回收情况
  5. ubuntu18启动zabbix-agent失败/故障记录
  6. zabbix 监控https URL
  7. 制作seata docker镜像
  8. .Net Core微服务入门全纪录(一)——项目搭建
  9. EAT表
  10. 今天抠图,Python实现一键换底片!想换什么换什么(附源码)