C#之CAD二次开发(2) 直线对象创建及添加

时间:2024-03-21 22:42:09

0. 前言

从本文开始就正式登上开往CAD二次开发幼儿园的大巴车了!你准备好了吗?车门已经焊死!

 

还有,本系列笔记是默认大家都有C#的基础的了。这个系列笔记是我自己学习CAD二次开发的一些记录,可能存在问题,如有不足,敬请指出!感谢包容!

 

我的宗旨就是一起学习,一起进步,还望各位多多海涵!

1. CAD里面图形对象类的继承关系

 

首先我们需要搞清楚CAD里面的图形对象类的继承关系是怎样的,这样在学习CAD二次开发的时候脑袋里才有一个清晰的逻辑。

CAD中常用图形对象的类的继承关系如下图所示(目前先罗列这些):

 

C#之CAD二次开发(2) 直线对象创建及添加

在VS中在类名上通过F12键进行跟踪可以浏览上述继承关系。

 

2. 如何通过代码在CAD中绘制直线?

 

1)Line类

直线作为CAD里面最基本的图形之一,也是较为简单的一个图形,当然先拿它试手了!

首先我们来看CAD中的直线类 Line

 

C#之CAD二次开发(2) 直线对象创建及添加

2)创建直线

 

声明直线并设置其属性

C#之CAD二次开发(2) 直线对象创建及添加

3)添加到图形文件

 

上面我们创建的图形文件只是存在于内存中,并没有加载到CAD的图形文件中,所以需要将创建的直线对象添加到图形文件中。

在这之前,我们先来看看AutoCAD的对象层次结构

C#之CAD二次开发(2) 直线对象创建及添加

你说啥?现在康不懂?没关系,我也看不懂(皮一下)

你只需要知道我们CAD里面的图层、文字样式、注释样式等等... ,这些东东都是存储在Database,也就是图形数据库中。

那我们再来康康AutoCAD里面Database又包含哪些内容:

C#之CAD二次开发(2) 直线对象创建及添加

CAD中图形实体都是以块表记录(BlockTableRecord)的形式存储在数据库中,例如CAD中的块。

弄清楚上面,接下来就好说了。

先声明一个图形数据库

 

C#之CAD二次开发(2) 直线对象创建及添加

 

开启一个资源,将直线对象加进去,每一个实体都是一项块表记录。加到块表记录后,更新数据,提交更新。

 

C#之CAD二次开发(2) 直线对象创建及添加

 

上面这一段基本就是固定形式啦!就是添加对象到图形文件中的流程!

运行程序,在CAD中NETLOAD加载进去,运行命令LineDemo

 

C#之CAD二次开发(2) 直线对象创建及添加

可以看到成功创建直线对象!

 

看到这很多小同志就开始有疑问了,这个这么简单,而且CAD里面已经有了,干吗花费时间去捣鼓半天代码实现?

我可以很负责的告诉你,绝对不是闲的Dan Teng!

 

你只有了解CAD中这些基本类型是什么样的创建逻辑,你才可以去做更高大上的东西,相信我,九层之台,始于垒土!

只有学会这些基本的,当遇到重复性大批量的时候就体现代码的重要性了!

 

耐下心来!

 

喜欢就关注,爱就大声说出来! 公众号:数据智能笔记

C#之CAD二次开发(2) 直线对象创建及添加