1)  VBA
VBA
1.
Parametric Design and Realization of Stamping Die Standard-part Based on VBA;
基于VBA的冲模标准件参数化设计与实现
2.
AutoCAD VBA-Based Exploitation of CAD System for Gear Hob;
基于AutoCAD VBA的齿轮滚刀CAD系统开发
3.
Research on NC Simulation System Based on AutoCAD and VBA;
基于AutoCAD及VBA的数控仿真研究
2)  VBA
VBA技术
1.
The applications of VBA in designing computer basic course examination system;
VBA技术在计算机基础考试系统设计中的应用
3)  VBA
VBA软件
1.
Study on Two Dimension Parametric Design of Cam Machine Based on VBA;
基于VBA软件的凸轮机构二维参数化设计研究
4)  VBA
VBA开发语言
5)  VBA
VB应用程序设计语言
6)  VBA
应用程序可视化BASIC程序设计语言(VBA)
参考词条
补充资料:Autocad VBA初级教程 (第三课 编程基础二)
 

有一位叫自然9172的网友提出了下面的问题:
绘制三维多段线时X、Y值在屏幕上用鼠标选取,Z值用键盘输入
本课将讲解这个问题。


为了简化程序,这里用多条直线来代替多段线。以下是源码:
Sub myl()
Dim p1 As Variant '申明端点坐标
Dim p2 As Variant
p1 = ThisDrawing.Utility.GetPoint(, "输入点:") '获取点坐标
z = ThisDrawing.Utility.GetReal("Z坐标:") '用户输入Z坐标值
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 '将第二点的端点保存为下一条直线的第一个端点坐标
Loop
Err_Control:
End Sub


先谈一下本程序的设计思路:
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()在ACAD中这是最常用的方法之一,它需要两个参数,在逗号前面的参数应该是一个点坐标,它的作用是在屏幕上画一条线,前一个端点位于点坐标位置,后一个端点跟随鼠标移动,逗号之前可以什么都不填,这时没有线条会跟随鼠标移动,但逗号必须保留。
逗号后面使用一串字符,程序在命令行显示这串字符,这不难理解。
VbCr通常代表一个回车符,而在这个语句中,它的作用是在命令行不显示“命令:”
&的作用是连接字符。举例:
“爱我中华 ”&”抵制日货 ”&”从我做起”


z = ThisDrawing.Utility.GetReal("Z坐标:") '用户输入Z坐标值
由用户输入一个实数


On Error GoTo Err_Control '出错陷井
……
Err_Control:
On Error是出错陷井语句,在程序出错时将执行On Error 后面的语句
GoTo Err_contorl 是程序跳转语句,它的作用是在程序中寻找Err_control:,并执行这一行后面的语句,本例中Err_Control:后就是结束宏,所以只要出现错误,程序中止。


说明:补充资料仅用于学习参考,请勿用于其它任何用途。