明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1673|回复: 9

如何在VB中开关非当前层?

[复制链接]
发表于 2003-8-31 16:18:00 | 显示全部楼层 |阅读模式
如何在VB中开关非当前层?
 楼主| 发表于 2003-8-31 18:09:00 | 显示全部楼层
为什么许多材料上介绍这个方法时,都是先建立一个新图层,再将其设成为当前层,然后再关闭或打开?
发表于 2003-8-31 21:23:00 | 显示全部楼层
使用图层的LayerOn 属性

TRUE: 为打开图层
FALSE: 为关闭图层
 楼主| 发表于 2003-8-31 22:49:00 | 显示全部楼层
我的问题是假设当前层是0层,而是要开关1,2,3......层。1,2,3.....层均已建立。
 楼主| 发表于 2003-8-31 22:52:00 | 显示全部楼层
请举一个例子!
发表于 2003-8-31 23:02:00 | 显示全部楼层
Sub SetLayerOff()
    Dim LayerName As String
    LayerName = "1"
    On Error Resume Next
    Err.Number = 0
    Dim MyLayer As AcadLayer
    Set MyLayer = ThisDrawing.Layers(LayerName)
    If Err.Number = 0 Then
        ThisDrawing.Layers(LayerName).LayerOn = False
        ThisDrawing.Utility.Prompt vbCrLf & " 图层“" & LayerName & "”已经被关闭。"
    Else
        ThisDrawing.Utility.Prompt vbCrLf & " 图层“" & LayerName & "”不存在。"
    End If
End Sub
 楼主| 发表于 2003-9-1 23:01:00 | 显示全部楼层
Ok! 其实我是这么做得:
Dim entobj As AcadLayer
  Set entobj = ThisDrawing.Layers.Item("1")
  entobj.LayerOn = False
发表于 2003-9-2 07:03:00 | 显示全部楼层
写程序不是这么简单。
首先你要考虑如果该图层不存在的情况,如果图层不存在,则你写的那几句就会出错。
发表于 2003-9-2 08:59:00 | 显示全部楼层
mccad发表于2003-9-2 7:03:00写程序不是这么简单。
首先你要考虑如果该图层不存在的情况,如果图层不存在,则你写的那几句就会出错。


说的不错。写程序一定要考虑其完整性。
发表于 2003-9-2 21:11:00 | 显示全部楼层
mccad!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 14:54 , Processed in 0.200984 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表