天天看点

C#之CAD二次开发(3) 函数封装

1. 封装函数

封装是什么,我就不做解释了,默认大家都是有C#或者其他编程语言基础的。在座的各位都是要成为大佬的,说话放肆点!

因为我们之前的代码,比如事务处理这一段:

C#之CAD二次开发(3) 函数封装

这都是固定的,以后不可能没写一个新的程序都要去写一次吧,为了代码复用,所以就把它封装起来啦!以后用直接调用封装好的函数就行了。

还有之前创建直线的代码,不可能每次有需要都去写一遍,为了方便嘛,程序的最终目的不就是方便,提高效率吗?所以也将其封装起来!以后直接调用即可!

2. 怎么封装

新建一个项目,把我们要创建的图形都封装好放在里面,这样以后要用的时候直接用就好了,方便以后进一步开发!

C#之CAD二次开发(3) 函数封装

这里写啰嗦一点,照顾小白!

每次新建项目,都记得添加引用,并在其属性中将复制到本地一值改为False。

新建类AddEntityTools 用来进行封装

C#之CAD二次开发(3) 函数封装

全部代码如下

C#之CAD二次开发(3) 函数封装

上述代码实现一次添加一个图形文件

如何添加多个呢?只需要在传入参数中声明一个可变参数

C#之CAD二次开发(3) 函数封装

然后在添加块表记录之后对entId进行循环遍历

C#之CAD二次开发(3) 函数封装

全部代码

C#之CAD二次开发(3) 函数封装

然后在将上一篇创建的Y用于绘制直线的LineExam类添加进来,或者重新创建一个LineExam类。

在LineExam进行调用即可

绘制一个图形

C#之CAD二次开发(3) 函数封装

绘制多个图形函数调用

C#之CAD二次开发(3) 函数封装

封装直线绘制函数

这样调用还是麻烦,能不能进一步将直线绘制也进行封装呢?

答案当然是可以的

第一种:传入起点,终点坐标作为参数

C#之CAD二次开发(3) 函数封装

第二种:知道起点坐标,角度和长度如何绘制

C#之CAD二次开发(3) 函数封装

起始最后也是转化为起点和终点,进行绘制。利用给的角度长度和起点坐标,计算终点坐标!

因为CAD里面使用的都是弧度,所以需要转化为我们习惯使用的角度

里面的DegreeAngle也封装好了,这里新建了一个BaseTools类用于存放基本工具函数的封装

C#之CAD二次开发(3) 函数封装

在LineExam类中调用封装直线绘制函数进行测试

C#之CAD二次开发(3) 函数封装

是不是方便了很多!

通过本次笔记学习了如何封装,下一次就会把基本的图形绘制都封装起来,以便后面进一步开发的时候利用。

完整代码地址:

https://gitee.com/yuzhaokai/cad_secondary_development_code.git

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

C#之CAD二次开发(3) 函数封装