Autocad VBA初级教程(3)

2020-02-21 15:28

msgstr = msgstr + \图层\已经\没有\冻结\msgstr = msgstr + \图层\已经\没有\锁定\msgstr = msgstr + \图层颜色号:\msgstr = msgstr + \图层线型:\

msgstr = msgstr + \图层线宽:\

msgstr = msgstr + \打印开关\+ IIf(lay0.Plottable = False, \关闭\\打开\+ vbCrLf + vbCrLf

msgstr = msgstr + \是否设置为当前图层?\

If MsgBox(msgstr, 1) = 1 Then '如果用户点击确定

If Not lay0.LayerOn Then lay0.LayerOn = True '打开

ThisDrawing.ActiveLayer = lay0 '把当前图层设为已经存在的图层 End If

Exit For '结束寻找 End If Next lay0

If findlay = 0 Then '没有找到图层

Set lay1 = ThisDrawing.Layers.Add(\新建图层\增加一个名为“临时图层”的图层 lay1.Color = 2 '图层设置为黄色

ltfind = 0 '找到线型的标志,0没有找到,1找到

For Each entry In ThisDrawing.Linetypes '在现有的线型中进行循环 If StrComp(entry.Name, \如果线型名为\ ltfind = 1 '标志为已找到线型 Exit For '退出循环 End If

Next entry '结束循环

If ltfind = 0 Then '没有找到线型

ThisDrawing.Linetypes.Load \加载线型 End If

lay1.Linetype = \设置线型

ThisDrawing.ActiveLayer = lay1 '将当前图层设置为新建图层 End If

End Sub

在寻找图时时我们用到for each……next 语句 它的语法是这样的:

For Each 变量 In 数组或集合对象 …… exit for ……

next 变量

它的作用是在数组或集合对象中进行循环,每循环一次,变量就成为数组或集合对象中的一个元素。本例在所有的图层对象中进行循环,每循环一次layo变量就代表一个图层

在循环体中遇到exit for 语句则退出循环,如果没有 exit for,循环将在所有的元素都操作一遍后结束。

If lay0.Name = \新建图层\lay0.name代表这处图层的图层名

IIf(lay0.LayerOn = True, \打开\关闭\这是一个简单判断语句,语法如下: iif(判断表达式,返回值1,返回值2)

当判断表达式成立,函数值=返回值1,如果表达式不成立,函数值=2

MsgBox(msgstr, 1)

Mgbox显示一个对话框,第一个参数是对话框显示的内容 第二个参数可以控制对话框上的按钮。 0 只有确认按钮 1 确认、取消

2 终止、重试、忽略 3 是、否、取消 4 是、否

MsgBox获得值如下: 确认:1 取消:2 终止:3 重试:4 忽略:5 是:6 否7

初学者不需要死记硬背,能有所了解就行了

ACAD图层中最麻烦的就是线型问题了,本例先寻找一个HIDDEN线型,如果找不到就加载这个线型,用这条语句:

ThisDrawing.Linetypes.Load \

ThisDrawing.Linetypes.Load后需要两个参数,一个是线型的名称,另外一个是线型文件的名称。


Autocad VBA初级教程(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公开选拔乡镇副科级领导干部笔试题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: