您的位置:网站首页 > CAD教程 > CAD教程文章

Autocad VBA初级教程 (第二课 编程基础)

时间:2010-11-18 19:46:15 来源:未知

第二课  编程基础

本课主要任务是对上一课的例程进行详细分析

下面是源码:
Sub c100()
Dim cc(0 To 2) As Double '声明坐标变量
cc(0) = 1000 '定义圆心座标
cc(1) = 1000
cc(2) = 0
For i = 1 To 1000 Step 10 '开始循环
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
Next i
End Sub

先看第一行和最后一行:
Sub C100()
……
End Sub
C100是宏的名称,也叫过程名称,当用户执行C100时程序将运行sub 和end sub之间的所有指令。

第二行:
Dim cc(0 To 2) As Double '声明坐标变量
后半段“'声明坐标变量”自动变为绿色字体,它是代码语句的注释,它不会影响程序运行,它的作用是告诉阅读者程序员的想法。对于简单的程序,一般不需要写注释,如果要编写非常复杂的程序,最好要多加注释,越详细越好,对于程序员来说,这是一个好习惯。
电脑真正编译执行的是这条语句:Dim cc(0 To 2) As Double
它的作用就是声明变量。
Dim是一条语句,可以理解为计算机指令。
它的语法:Dim变量名 As 数据类型
本例中变量名为CC,而括号中的0 to 2声明这个CC是一个数组,这个数组有三个元素:CC(0)、CC(1)、CC(2),如果改为CC(1 to 3),则三个元素是CC(1)、CC(2)、CC(3),有了这个数组,就可以把坐标数值放到这个变量之中。
Double是数据类型中的一种。ACAD中一般需要定义坐标时就用这个数据类型。在ACAD中数据类型的有很多,下面两个是比较常用的数据类型,初学者要有所理解。
Long(长整型),其范围从 -2,147,483,648 到 2,147,483,647。
Variant  它是那些没被显式声明为其他类型变量的数据类型,可以理解为一种通用的数据类型,这是最常用的。

下面三条语句
cc(0) = 1000 '定义圆心座标
cc(1) = 1000
cc(2) = 0
它们的作用是给CC变量的每一个元素赋,值其顺序是X、Y、Z坐标。


For i = 1 To 1000 Step 10 '开始循环
……
Next i  '结束循环
这两条语句的作用是循环运行指令,每循环一次,i值要增加10,当i加到 1000时,结束循环。
i也是一个变量,虽然没有声明i变量,程序还是认可的,VB不是C语言,每用一个变量都要声明,不声明就会报错。简单是简单了,这样做也有坏处,如果不小心打错了一个字母,程序不会报错,如果程序很长,那就会出现一些意想不到的错误。
step后面的数值就是每次循环时增加的数值,step后也可以用负值。
例如:For i =1000 To 1 Step -10
很多情况下,后面可以不加step 10
如:For i=1 to 100,它的作用是每循环一次i值就增加1
Next i语句必须出现在需要结束循环的位置,不然程序没法运行。

下面看画圆命令:
Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10)
Call语句的作用是调用其他过程或者方法。
ThisDrawing.ModelSpace是指当前CAD文档的模型空间
AddCircle是画圆方法
Addcicle方法需要两个参数:圆心和半径
CC就是圆心坐标,i*10就是圆的半径,本例中,这些圆的半径分别是10、110、210、310……

本课到此结束,下面请完成一道思考题:
1.以(4,2)为圆心,画5个同心圆,其半径为1-5