机械网首页 | 添加到收藏夹 机械网服务 | 免费注册会员 | 会员登录
机械网
用户名 密码 验证码 取回密码
机械商城 机械商机 机械产品 机械资讯 机械展会 机械黄页 机械知识

商机 产品 资讯 公司 商场 展会      埋刮板输送机 液压泵完成吸 加热炉 对接机

Autocad VBA初级教程 (第八课:图层操作)

 

先简单介绍两条命令:


1、这条语句可以建立图层:
ThisDrawing.Layers.Add("新建图层")
在括号中填写图层的名称。


2、设置为当前的图层
ThisDrawing.ActiveLayer=图层对象
注意,等号右边的变量不能用图层名称,必须使用一个有效的图层变量


以下一些属性在图层比较常用:
LayerOn 打开关闭
Freeze 冻结
Lock锁定
Color 颜色
Linetype 线型



看一个例题:
1、先在已有的图层中寻找一个名为“新建图层”的图层
2、如果找到这个图层,显示该图层的信息,并提示用户是否需要设置为当前图层,如果用户确认,则设置为当前图层。
3、如果图层没有找到,新建一个名为“新建图层”的图层,设置为黄色,HIDDEN线型,并把这个图层设置为当前图层


Sub mylay()


Dim lay0 As AcadLayer '定义作为图层的变量
Dim lay1 As AcadLayer


findlay = 0 '寻找图层的结果的变量,0没有找到,1找到


For Each lay0 In ThisDrawing.Layers '在所有的图层中进行循环


  If lay0.Name = "新建图层" Then '如果找到图层名
    findlay = 1 '把变量改为1标志着图层已经找到
    msgstr = lay0.Name + "已经存在" + vbCrLf
    msgstr = msgstr + "图层状态:" + IIf(lay0.LayerOn = True, "打开", "关闭") + vbCrLf
    msgstr = msgstr + "图层" + IIf(lay0.Freeze = True, "已经", "没有") + "冻结" + vbCrLf
    msgstr = msgstr + "图层" + IIf(lay0.Lock = True, "已经", "没有") + "锁定" + vbCrLf
    msgstr = msgstr + "图层颜色号:" + CStr(lay0.Color) + vbCrLf
    msgstr = msgstr + "图层线型:" + lay0.Linetype + vbCrLf
    msgstr = msgstr + "图层线宽:" + CStr(lay0.Lineweight) + vbCrLf
    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 '把当前图层设为已经存在的图层


1 2 3 下一页

共 3 页
【字体: 】【 打印 】【 关闭


 

■中国机械网提供的资料来自互联网,资料的版权属于作者本人,只供个人学习用,不得非法出版、销售。

版权所有:机械网 邮件:webmaster@cnmachines.com