Advertisement

cass二次开发vba和lisp_autocad二次开发(VBA)就这么简单

阅读量:

一行填好的。其它的关键字也用不着每个字母都用键盘敲,自己试。

一步进入VBA--写给想学VBA的朋友

有了autocad基础,学习它的VBA并不难,关键是要找准突破口。下面是根据在下的学习经验编写的一个自认为有代表性的简单程序,只要你按步骤做下来,就会发现你已经进入了VBA的天地。

首先,在autocad上创建一个新文件,按Alt+F11进入Visual Basic编辑器。

下面这项工作是我强烈建议你做的:在菜单栏点“工具”→“选项”,在选项窗口选中“要求变量声明”--这可以减少我们的低级错误。

下面开始编写我们的第一个VBA程序:让VBA在autocad的模型空间按我们指定的位置画一条直线。

在编辑器的菜单栏点“插入”→“模块”,屏幕上出现了“模块1(代码)”窗口。在代码窗口的第一行是“Option Explicit”--如果你按我的建议在选项窗口选中了“要求变量声明”的话--在它的下面输入“sub A”,回车。窗口出现下面的代码:

Sub A()

End Sub

“A”是这个宏的名字。你可以按自己的喜好随便给它取个什么名字,但必须是唯一的,因为它是这段程序的标志。取名字时最好不要用汉字,因为autocad的命令行不支持汉字参数,如果用了汉字,每次运行这段程序的时候就必须使用“宏”对话框,而不能使用命令行。

在两行代码中间的空行键入“thisdrawing.”,屏幕上会出现一个提示窗口--后面的代码可以在这里面选择,而不是所有文本都靠键盘输入--继续键入“m”,提示窗口高亮显示的是“ModelSpace”--我们要的就是它。继续键入“.”,“ModelSpace.”自动进入了代码行,并且出现了一个新的提示窗口;继续键入“addlin”,提示窗口高亮显示的是“AddLine”,键入空格,它就自动上去了,而屏幕上又出现了一个提示行“AddLine(startpoint,endpoint)as acadline”,其中“startpoint”用粗体显示,这是在提示我们给出直线的起点。继续按下面的顺序键入字符“thisdrawing.ut.getp,thisdrawing.ut.getp”--VBA会像前面一样把我们的代码补全--再敲一下空格,整段代码就是现在这个样子:

Sub A()

ThisDrawing.ModelSpace.AddLine ThisDrawing.Utility.GetPoint, ThisDrawing.Utility.GetPoint

End Sub

这行代码中,“ThisDrawing.ModelSpace.AddLine”的意思是:在“当前文档”的“模型空间”“画直线”。这个画直线方法需要两个必不可少的参数,一个是起点三维坐标,另一个是端点三维坐标。在这行里,起、端点的坐标是由后面两部分代码提供的--“ThisDrawing.Utility.GetPoint”的意思是:在“当前文档”上“由用户输入”而“得到点坐标”。

我们的第一个宏已经完成了,现在回到autocad窗口运行一下:

全部评论 (0)

还没有任何评论哟~