CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 1364|回复: 1

[求助] 请问大家这个VB怎么写啊?

[复制链接]
发表于 2007-9-16 17:14 | 显示全部楼层 |阅读模式
初学CAD,看到以下的一段宏VB,但是想修改为自己实用的一些功能,但是怎么改都不成功,望各位大虾们指点赐教、最好有详细的说明;)  谢谢啦!
1 o/ v3 R# ~# j, {" w8 d按照以下代码的大概意思(偶也看得不太懂~),打开和关闭、解锁和锁定 是针对所有层的操作的,如果我想针对于某个层 例如Bondary层使用如下操作,我该如何修改其代码? 烦劳各位详解  大谢!!!. Q$ u/ f: ]- z' x6 `; D
代码如下:
: x, O8 M$ W; m  e1 d1 Q7 l! q7 ~4 O6 O& N
--------------------------------------------------------------------------------------------------  Z+ t, E; d/ C2 H/ h# G* ^
'打开所有图层# y9 i, G- _2 Z
'***********************$ k* _+ O/ V1 U) c1 B# s: j
Public Sub OpenAll_Layers()
2 w. f# ]! S8 d  Call OpenAllLayer(True)
1 p. n! ^1 r' QEnd Sub
  Q1 p  x% J1 i& e, I" d; ^--------------------------------------------------------------------------------------------------) I+ ?7 B6 q3 V# ^5 i0 J6 l7 y
'关闭所有图层
" F: m% ?8 |( G' p% s3 ?' g'**********************
/ f- s4 U9 _# iPublic Sub CloseAll_Layers()
4 o/ U0 U% y9 n7 g& x7 x+ r  Call OpenAllLayer(False)) a9 U2 z  Z3 _- M& k: K  ]# t) v5 `6 x
End Sub
0 X/ S3 j. c# j$ D2 ^8 a0 ^--------------------------------------------------------------------------------------------------
" W* \: p- N. ~. @8 `- L'锁定所有图层" l$ g% i9 _8 I. M
'***********************
" @! h: m, k3 NPublic Sub LockAll_Layers()* ~7 F8 ]( Y  F3 r
  Call LockAllLayer(True)
/ W/ B0 B1 l0 i0 YEnd Sub+ m% c3 B& N4 H' p7 D6 t
--------------------------------------------------------------------------------------------------9 |( V' v4 ^$ _" U, u
'解锁所有图层" B7 E5 L' ^9 y6 x2 r! o
'***********************
# l- j9 w( o$ b# x, rPublic Sub UnLockAll_Layers()/ h& U  P! Q  o! u; ~3 o
  Call LockAllLayer(False): g' N" C7 L$ J3 E8 }  t9 f
End Sub4 ~6 Z/ U* Q' ?7 c+ [
;这些是工具栏按钮显示的名称;3 q: h. O3 h! k" t" K
/ w* A8 A% _4 }; J$ f. D$ I- L$ N, P

" F# o  h) H  h1 t9 k( \, s% _8 Y--------------------------------------------------------------------------------------------------
; P8 X5 [3 }6 a6 y'Close on Open All Layer
9 p! ^8 w" F: r' o( v" V* J& y# S'*****************************************. e: N  X* g' h" `! b! ?0 L' @
Public Sub OpenAllLayer(ByVal IsOpen As Boolean)
" U) S! F: N: K" s- p+ z  Dim i As Integer
# G3 ^& M" w4 i# \4 ~2 L# f  For i = 0 To ThisDrawing.Layers.count - 1# b+ o9 n6 H( x9 t2 e1 v& l
    If ThisDrawing.Layers.Item(i).Name = ThisDrawing.ActiveLayer.Name _
4 o3 b& e! M9 P0 y' j* `        And IsOpen = False Then9 d  Y- \$ o% l
      ThisDrawing.Layers.Item(i).LayerOn = Not (IsOpen)! @! \) l' r$ D( P
    Else3 `" a* Z  j* V" T/ z  H% U4 }$ B) `
      ThisDrawing.Layers.Item(i).LayerOn = IsOpen1 ^* z8 H: {2 H5 {0 ^- @
    End If
" i$ C* P- M; @5 H7 {% A4 ?  Next i% A  J0 M- `8 J$ Q" t4 o
End Sub
8 ~* [8 d$ K7 Y  \- |--------------------------------------------------------------------------------------------------9 S3 m! M% p( m% M+ \! i9 ~
'Lock on UnLock All Layer9 ~) C6 Q3 N/ _" o5 ?3 v6 B
'*****************************************
9 Y# M: o  C, x5 uPublic Sub LockAllLayer(ByVal IsLock As Boolean)
0 x7 y8 |1 j" X; q! s0 P, ~  Dim i As Integer
- P* W6 L4 P+ h. N* W5 y$ d  For i = 0 To ThisDrawing.Layers.count - 1  B5 p/ ~1 E5 O1 m3 a2 s6 m, f
    ThisDrawing.Layers.Item(i).Lock = IsLock
& N, a* L7 q! g  Next i
) l& s9 F4 V! y) S6 C+ S" F$ h, |End Sub
: w1 K; D! Q: A8 E--------------------------------------------------------------------------------------------------
9 D/ R  W6 K. J;这些才是宏语言;
 楼主| 发表于 2007-9-16 17:15 | 显示全部楼层
以上代码  打开和关闭、解锁和锁定  的修改   烦劳各位详解  大谢了!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-8-11 08:29

CAD设计论坛,为工程师增加动力。

© 2005-2026 askcad.com. All rights reserved.

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