ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:112.75KB ,
资源ID:2981711      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2981711.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Autocad VBA教程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Autocad VBA教程.docx

1、Autocad VBA教程Autocad,VBA初级教程本文是我搜集网上一位高手的教程,整理而成,其中对某些程序进行了拓展。本人从事选煤厂工程总承包多年,发现业内从大型设计院到小型公司,只是将CAD作为画图板、丁字尺、铅笔的替代品,所有的设计还都基本是手工绘制,远没有充分利用AutoCAD的功能。即便快捷键这么简单的功能,都有好多人没有掌握如何自定义(通过修改自定义文件,将常用命令都改为左手操作的快捷命令,右手操作鼠标。例如将原本需要右手操作的画直线命令L,改为左手操作输入FF也能画出直线)。利用CAD二次开发接口进行设计的更是少之又少,关于CAD二次开发的书籍、资料也是少的可怜。所以本人搜集

2、、整理此文供AutoCAD VBA初学入门使用,以此共勉,充分利用CAD软件的功能,减少设计中的劳动强度,提高工作效率。本人也AutoCAD VBA初学者,欢迎交流。QQ:249365331。第一课:入门1.为什么要写这个教程市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。2.什么是Autocad VBA?VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能

3、完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。3、VBA有多难?相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。4、怎样学习VBA?介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。本教程将陆续发布在CAD世界论坛上,您不需要付费就可以学习。本作者在此郑重承诺:关于本教程中有任何疑问,可以跟贴提问,只要有时间,本人一定会耐心解答。我不会发到任何人的邮箱中,您自己在论坛上找就可以了,请不要再向我索要这份教程。5、现在我们

4、开始编写第一个程序:画一百个同心圆第一步:复制下面的红色代码第二步:在模型空间按快捷键Alt+F8,出现宏窗口第三步:在宏名称中填写C100,点“创建”、“确定”第四步:在Sub c100()和End Sub之间粘贴代码第五步:回到模型空间,再次按Alt+F8,点击“运行”Sub c100()Dim cc(0 To 2) As Double 声明坐标变量cc(0) = 1000 定义圆心座标cc(1) = 1000cc(2) = 0For i = 1 To 1000 Step 10 开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) 画

5、圆Next iEnd Sub也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。第二课 编程基础本课主要任务是对上一课的例程进行详细分析下面是源码:Sub c100()Dim cc(0 To 2) As Double 声明坐标变量cc(0) = 1000 定义圆心座标cc(1) = 1000cc(2) = 0For i = 1 To 1000 Step 10 开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) 画圆Next iEnd Sub*拓展程序(将上述画圆的程序拓展为每画一个圆设定为一种颜色)Sub c10

6、0()Dim cc(0 To 2) As Double 声明坐标变量cc(0) = 1000 定义圆心座标cc(1) = 1000cc(2) = 0Dim myl As Object 定义引用曲线对象变量co = 15 定义颜色For i = 1 To 1000 Step 10 开始循环 Set myl = ThisDrawing.ModelSpace.AddCircle(cc, i * 10) 画圆,cc数组为圆心X、Y、Z值 myl.color = co 设置颜色属性 co = co + 1 改变颜色,供下次定义曲线颜色Next iEnd Sub*先看第一行和最后一行:Sub C100()

7、End SubC100是宏的名称,也叫过程名称,当用户执行C100时程序将运行sub和end sub之间的所有指令。第二行:Dim cc(0 To 2) As Double 声明坐标变量后半段“声明坐标变量”自动变为绿色字体,它是代码语句的注释,它不会影响程序运行,它的作用是告诉阅读者程序员的想法。对于简单的程序,一般不需要写注释,如果要编写非常复杂的程序,最好要多加注释,越详细越好,对于程序员来说,这是一个好习惯。电脑真正编译执行的是这条语句:Dim cc(0 To 2) As Double它的作用就是声明变量。Dim是一条语句,可以理解为计算机指令。它的语法:Dim变量名 As 数据类型本

8、例中变量名为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 它是那些没被显式声明为其他类型变量的数据类型,可以理解为一种通用的数据类型,这是最常用的。

9、下面三条语句cc(0) = 1000 定义圆心座标cc(1) = 1000cc(2) = 0它们的作用是给CC变量的每一个元素赋,值其顺序是X、Y、Z坐标。For i = 1 To 1000 Step 10 开始循环Next i 结束循环这两条语句的作用是循环运行指令,每循环一次,i值要增加10,当i加到 1000时,结束循环。i也是一个变量,虽然没有声明i变量,程序还是认可的,VB不是C语言,每用一个变量都要声明,不声明就会报错。简单是简单了,这样做也有坏处,如果不小心打错了一个字母,程序不会报错,如果程序很长,那就会出现一些意想不到的错误。step后面的数值就是每次循环时增加的数值,ste

10、p后也可以用负值。例如:For i =1000 To 1 Step -10 很多情况下,后面可以不加step 10如:For i=1 to 100,它的作用是每循环一次i值就增加1Next i语句必须出现在需要结束循环的位置,不然程序没法运行。下面看画圆命令:Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10)Call语句的作用是调用其他过程或者方法。ThisDrawing.ModelSpace是指当前CAD文档的模型空间AddCircle是画圆方法Addcicle方法需要两个参数:圆心和半径CC就是圆心坐标,i*10就是圆的半径,本例中,这些圆的

11、半径分别是10、110、210、310本课到此结束,下面请完成一道思考题:1.以(4,2)为圆心,画5个同心圆,其半径为1-5第三课 编程基础二有一位叫自然9172的网友提出了下面的问题:绘制三维多段线时X、Y值在屏幕上用鼠标选取,Z值用键盘输入本课将讲解这个问题。为了简化程序,这里用多条直线来代替多段线。以下是源码:Sub myl()Dim p1 As Variant 申明端点坐标Dim p2 As Variantp1 = ThisDrawing.Utility.GetPoint(, 输入点:) 获取点坐标z = ThisDrawing.Utility.GetReal(Z坐标:) 用户输入Z

12、坐标值p1(2) = z 将Z坐标值赋予点坐标中On Error GoTo Err_Control 出错陷井Do 开始循环 p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & 输入下一点:) 获取下一个点的坐标 z = ThisDrawing.Utility.GetReal(Z坐标:) 用户输入Z坐标值 p2(2) = z 将Z坐标值赋予点坐标中 Call ThisDrawing.ModelSpace.AddLine(p1, p2) 画直线 p1 = p2 将第二点的端点保存为下一条直线的第一个端点坐标LoopErr_Control:End Sub先谈一下

13、本程序的设计思路:1、获取第一点坐标2、输入第一点Z坐标3、获取第二点坐标4、输入第二点Z坐标5、以第一、二点为端点,画直线6、下一条线的第一点=这条线的第二点7、回到第3步进行循环如果用户没有输入坐标或Z值,则程序结束。首先看以下两条语句:p1 = ThisDrawing.Utility.GetPoint(, 输入点:) 获取点坐标p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & 输入下一点:) 获取下一个点的坐标这两条语句的作用是由用户输入点用鼠标选取点坐标,并把坐标值赋给p1、p2两个变量。ThisDrawing.Utility.GetPoint(

14、)在ACAD中这是最常用的方法之一,它需要两个参数,在逗号前面的参数应该是一个点坐标,它的作用是在屏幕上画一条线,前一个端点位于点坐标位置,后一个端点跟随鼠标移动,逗号之前可以什么都不填,这时没有线条会跟随鼠标移动,但逗号必须保留。逗号后面使用一串字符,程序在命令行显示这串字符,这不难理解。VbCr通常代表一个回车符,而在这个语句中,它的作用是在命令行不显示“命令:”&的作用是连接字符。举例:“爱我中华 ”&”抵制日货 ”&”从我做起”z = ThisDrawing.Utility.GetReal(Z坐标:) 用户输入Z坐标值由用户输入一个实数On Error GoTo Err_Control

15、 出错陷井Err_Control:On Error是出错陷井语句,在程序出错时将执行On Error 后面的语句GoTo Err_contorl 是程序跳转语句,它的作用是在程序中寻找Err_control:,并执行这一行后面的语句,本例中Err_Control:后就是结束宏,所以只要出现错误,程序中止。Do 开始循环Loop 结束循环这个循环就历害了,它会无休止地进行循环,好在本例中已经有了一个出错陷井,当用户输入回车时,由于程序没有得到点或坐标,程序出错,跳出循环,中止程序。如果要人为控制跳出循环,可以在代码中用Exit Do语句跳出循环。在For 变量 和Next 变量之间如果要跳出循环,那么只要在循环体内加一个Exit

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1