首页 新闻中心 技术博客

C#语言对AutoCAD二次开发

发布时间:2021-11-05 23:09:00   浏览量:2259   作者:GIS前沿

下面来开始讲解一下CAD文档和存储图形的一些原理,最后如何用代码绘制一条线段。

在启动AutoCAD应用程序进行画图时,CAD软件会新建一个“Drawing1.dwg”文件;在这个dwg文件中可以绘制线段、多段线、圆、圆弧、样条曲线等增加实体(Entity)图形,也可以修改图形位置,打断、镜像、复制、删除等对实体图形进行编辑。在学习AutoCAD软件使用时,都是从最基本的创建图形开始进行学习;同样,在学习 .Net二次开发时,从创建基本的图形对象开始学习仍然是最有效的选择,使用程序绘制一些图形,当程序运行后,图形窗口出现写出的图形,这样在学习的过程中就会产生浓厚的兴趣。

CAD进行处理图形的过程中,实际上就是操作打开的当前文档(Document),也是数据库(Database)显示给用户看的视图。dwg图形其实也是一个轻量级的数据库文件。一个Document与一个Database一一对应。按照应用程序(Application)的规定把Database中的对象显示给用户,同时用户对Document的操作也会通过Application回写到数据库,在这个过程中也会对文档进行锁定和解锁,以防止后台修改数据库时前台文档也在同时修改。

Application、Document和Database之间的关系如下图所示:

在这里插入图片描述

Application、Document和Database关系图

Database属于ApplicationServices命名空间,在写程序之前先导入ApplicationServices命名空间。
在这里插入图片描述

获取当前打开的活动文档方法在这里插入图片描述

获取数据库的两种方法
直接通过HostApplicationServices的WorkingDatabase属性进行获取;
在这里插入图片描述

先获取当前文档,然后在通过当前文档获取对应的数据库。

在这里插入图片描述

关于AutoCAD数据库的基本知识
表:数据库的组成单位。在CAD图形中包含9个符号表。
记录:是表的组成单位,一个表中可能包含多条记录,也可能不包含任何记录。
在这里插入图片描述

CAD图形的组成

向CAD添加图元的基本步骤如图:
在这里插入图片描述

添加实体流程图

下面我们向CAD中添加一个实体、以一条线段为例。首先在Visual Studio2013中新建一个名称为AddLine解决方案。完整代码如下:
在这里插入图片描述

添加线段代码

【调试】——【启动调试】或者按“F5”(有关调试配置可以参考第一篇文章:C#程序对AutoCAD二次开发(一)),启动AutoCAD应用程序,在命令行输入Netload,加载“AddLine.dll”文件。

在这里插入图片描述

加载应用程序

输入ADDLINE命令,程序在模型空间就绘制出一条起点(100, 100, 0),终点(600, 600, 0)的直线。如下图:
在这里插入图片描述

程序绘制的线段

总结:这篇文章主要讲了CAD文档(Document)的组部分、Document与图形数据库(Database)之间的关系,以及向CAD文档中添加图形过程中要经过的几个步骤;并且用代码向模型空间中添加了一个线段(实体[Entity])、添加图形到数据中必须根据需要以“读”或者“写”的方式进行“打开”块表(BlockTable)和块表记录(BlockTableRecord),不然程序就会产生致命错误等情况。在以后的学习中我们也会详细讲解添加其他类型的实体到文档中,比如多段线,圆、圆弧等,以及事务处理和ObjectId的使用等课程的学习。


来源:https://blog.csdn.net/qq_43173805/article/details/112304927