AutoCAD2014二次开发VBA基础与实例第一集AutoCAD二次开发介绍
f第二集AutoCADVBA创建直线1
我们在用VBA在AutoCAD中完成预期的操作时,需要调用VBA提供的类或方
法。这就要求我们了解vba的基本语法结构。其实vba和vb的语法结构基本相
同,如果学习过vb程序设计语言的话,那么对vba的语言结构就不会陌生,如
果没有学过那么,我会逐步给大家来讲解vba的语法结构。其实如果没有学过vb
语言,就直接学习vba也没有问题。当然我们也不提倡为了学习vba而去学习vb
程序设计语言,因为没有必要,直接学习vba发而不会受到vb的影响,他们毕
竟还是有一些差别的。
我们先来看一个简单的应用:
Vba语法讲解:DimpsAsVaria
t定义变量类型在vba中使用变量前一定要先
定义
Dimpt10To2AsDouble
Dimpt22AsDouble两种定义数组
的方法
CAD中的点可以用数组来表示,数组中的三个值分别为x、y、z
PublicSubLi
eDemoDimpt10To2AsDouble定义起点Dimpt22AsDouble定义终点
pt100pt110pt120pt20100pt21100pt220DimobjLi
eAsAcadLi
eSetobjLi
eThisDrawi
gModelSpaceAddLi
ept1pt2E
dSub
第三集AutoCADVBA创建直线2
上面的过程可以在模型空间内画出一条指定起点和终点的直线,但是如果指定的不是起点和终点,那该怎么办呢,我们可以通过相关的函数将其转换成起点和终点的形式,也可以自定义函数来实现相应的操作。我们看到了上面过程的最后一个表达式很长,自定义函数可减少这种代码的书写,当然,如果你是初学AutoCADVBA编程的话,我建议还是尽量多些这些长的代码,因为他可以帮助你理解AutoCADVBA中各种对象和方法以至属性之间的关系。那么过程和函数之间有什么区别呢?我们用关键字Sub定义的一段代码为过程,而用关键字Fu
ctio
定义的一段代码为函数,过程和函数都可实现一定的功能或者操作。过程没有返回值,而函数可以有返回值,这样就可将一长段代码其中的部分功能用函数封装起来。这样做的好处是,使得代码的可读性更强,代码看起来更简练,同时如果多个功能代码都有相同的部分,则可以减少书写的次数。下面我们根据四种不同的情况来分别写出相应的函数:
根据起点和终点创建直线
fPublicFu
ctio
AddLi
eByValptStAsVaria
tByValptE
AsVaria
tAsAcadLi
eSetAddLi
eThisDrawi
gModelSpaceAddLi
eptStptE
E
dFu
ctio
第四集AutoCADVBA创建直线2
根据起点和终点的坐标创建直线PublicFu
ctio
Addli
eXYByValx1AsDoubleByValy1AsDoubleByValx2AsDoubleByValy2AsDoubleAsAcadLi
e
Dimpt12AsDoubleDimpt22AsDouble
pt10r