人气 3193

CAD?VBA入门教程 [复制链接]

@Xizi_kcB33ttX 2016-12-18 21:55:37

1482069341128243.png

1482069341128243.png

摘自网络
第一课:入门
1.为什么要写这个教程市面上ACADVBA的书不多,它的帮助是英文版的,很多人看不懂。其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。2.什么是AutocadVBA?VBA是VisualBasicforApplications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。3、VBA有多难?相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。4、怎样学习VBA?介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。5、现在我们开始编写第一个程序:画一百个同心圆第一步:复制下面的红色代码第二步:在模型空间按快捷键Alt+F8,出现宏窗口第三步:在宏名称中填写C100,点“创建”、“确定”第四步:在Subc100()和EndSub之间粘贴代码第五步:回到模型空间,再次按Alt+F8,点击“运行”Subc100()Dimcc(0To2)AsDouble '声明坐标变量cc(0)=1000 '定义圆心座标cc(1)=1000cc(2)=0Fori=1To1000Step10 '开始循环CallThisDrawing.ModelSpace.AddCircle(cc,i*10) '画圆
NextiEndSub也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。第二课编程基础
本课主要任务是对上一课的例程进行详细分析
下面是源码:
Subc100()
Dimcc(0To2)AsDouble '声明坐标变量cc(0)=1000 '定义圆心座标cc(1)=1000cc(2)=0 Fori=1To1000Step10 '开始循环   CallThisDrawing.ModelSpace.AddCircle(cc,i*10) '画圆 Nexti
EndSub
先看第一行和最后一行:SubC100()??EndSubC100是宏的名称,也叫过程名称,当用户执行C100时程序将运行sub和endsub之间的所有指令。
第二行:Dimcc(0To2)AsDouble '声明坐标变量后半段“ '声明坐标变量”自动变为绿色字体,它是代码语句的注释,它不会影响程序运行,它的作用是告诉阅读者程序员的想法。对于简单的程序,一般不需要写注释,如果要编写非常复杂的程序,最好要多加注释,越详细越好,对于程序员来说,这是一个好习惯。电脑真正编译执行的是这条语句:Dimcc(0To2)AsDouble它的作用就是声明变量。
Dim是一条语句,可以理解为计算机指令。
它的语法:Dim变量名As数据类型
本例中变量名为CC,而括号中的0to2声明这个CC是一个数组,这个数组有三个元素:CC(0)、CC(1)、CC(2),如果改为CC(1to3),则三个元素是CC(1)、CC(2)、CC(3),有了这个数组,就可以把坐标数值放到这个变量之中。Double是数据类型中的一种。ACAD中一般需要定义坐标时就用这个数据类型。在ACAD中数据类型的有很多,下面两个是比较常用的数据类型,初学者要有所理解。Long(长整型),其范围从-2,147,483,648到2,147,483,647。
Variant它是那些没被显式声明为其他类型变量的数据类型,可以理解为一种通用的数据类型,这是最常用的。下面三条语句cc(0)=1000 '定义圆心座标cc(1)=1000cc(2)=0
它们的作用是给CC变量的每一个元素赋,值其顺序是X、Y、Z坐标。Fori=1To1000Step10 '开始循环??Nexti '结束循环这两条语句的作用是循环运行指令,每循环一次,i值要增加10,当i加到1000时,结束循环。i也是一个变量,虽然没有声明i变量,程序还是认可的,VB不是C语言,每用一个变量都要声明,不声明就会报错。简单是简单了,这样做也有坏处,如果不小心打错了一个字母,程序不会报错,如果程序很长,那就会出现一些意想不到的错误。step后面的数值就是每次循环时增加的数值,step后也可以用负值。例如:Fori=1000To1Step-10很多情况下,后面可以不加step10如:Fori=1to100,它的作用是每循环一次i值就增加1Nexti语句必须出现在需要结束循环的位置,不然程序没法运行。下面看画圆命令:CallThisDrawing.ModelSpace.AddCircle(cc,i*10)Call语句的作用是调用其他过程或者方法。ThisDrawing.ModelSpace是指当前CAD文档的模型空间AddCircle是画圆方法Addcicle方法需要两个参数:圆心和半径CC就是圆心坐标,i*10就是圆的半径,本例中,这些圆的半径分别是10、110、210、310??
本课到此结束,下面请完成一道思考题:1.以(4,2)为圆心,画5个同心圆,其半径为1-5
如需更快的系统地学习VBA,请单击右上角关注此部落
点击加入群:{{http://jq.qq.com/?_wv=1027&k=411D3pF}} 与VBA大牛交流如觉得此技巧真有用,请关注我们。更重要手机转发分享一下!
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )|网站地图

GMT+8, 2024-12-22 19:37 , Processed in 0.269786 second(s), 23 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN