CAD设计论坛

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

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

[复制链接]
发表于 2007-9-16 17:14 | 显示全部楼层 |阅读模式
初学CAD,看到以下的一段宏VB,但是想修改为自己实用的一些功能,但是怎么改都不成功,望各位大虾们指点赐教、最好有详细的说明;)  谢谢啦!0 i" O0 q& S+ _1 ]5 Z' h
按照以下代码的大概意思(偶也看得不太懂~),打开和关闭、解锁和锁定 是针对所有层的操作的,如果我想针对于某个层 例如Bondary层使用如下操作,我该如何修改其代码? 烦劳各位详解  大谢!!!
0 l  ~) B% h- b# L/ B# Y代码如下:" T5 J; v4 N7 Q5 c* t9 E1 ]: w
! ~7 F: Y$ D% ^6 E0 b, j5 d' W
--------------------------------------------------------------------------------------------------! @8 T" y1 t) z* {  l: z% r
'打开所有图层
- K9 F+ z' `/ k" w3 Q'***********************3 `" g( L' R3 O6 j
Public Sub OpenAll_Layers()
7 }& r( P2 x9 R/ P: B/ g) U  Call OpenAllLayer(True). G. l' O0 U% Y* g
End Sub
6 q2 k/ a0 p/ L7 O' {--------------------------------------------------------------------------------------------------7 x2 a. R* E, i" H- B
'关闭所有图层
) [7 k8 U: g4 y- O'**********************- K* n& z1 y3 [9 z% A
Public Sub CloseAll_Layers(); ]  N) P( R" i' N
  Call OpenAllLayer(False)
$ y& z0 e2 D! {1 s* YEnd Sub
/ P( j5 \  y0 u- G--------------------------------------------------------------------------------------------------9 v# X1 V: U0 S( @; Q
'锁定所有图层- N; H+ D) w* ?# _
'***********************; g; ^- R% q* X7 T! A1 a
Public Sub LockAll_Layers()
# ^$ w; a3 B1 F# K" C, g  Call LockAllLayer(True)  d2 \. @* W$ \
End Sub, l: Q" I4 o$ r& R+ \/ V5 g
--------------------------------------------------------------------------------------------------
7 ^  c' m9 V7 E, l6 P'解锁所有图层
1 V2 l: X! i5 V) s; V1 J: d'***********************
: k! T3 R: x: Y6 S" M; n7 W& Q. {Public Sub UnLockAll_Layers()
( b/ r0 ~5 y8 o2 L) H  q  Y" D" F  Call LockAllLayer(False)
8 y! R4 h+ n4 f) aEnd Sub6 M( e6 y1 \- a# w, s# ~
;这些是工具栏按钮显示的名称;
2 F, v' n1 k$ @9 i- P% A; Z) c# ]% x+ `) b6 z' B

' ]6 l) }; Q* D  k0 m% [6 M: R--------------------------------------------------------------------------------------------------
9 H$ M& e% V7 G'Close on Open All Layer
2 _) F6 T  f0 F& N% ~3 r( O'****************************************** s# b* I  L+ f# `. n
Public Sub OpenAllLayer(ByVal IsOpen As Boolean)( q. `) ?9 R! b8 p* K" G
  Dim i As Integer
9 D9 m8 g' R3 e% d  For i = 0 To ThisDrawing.Layers.count - 1
* u; U7 ]* F# c; R& K    If ThisDrawing.Layers.Item(i).Name = ThisDrawing.ActiveLayer.Name _% d' i. ~9 i! T+ o2 S" h
        And IsOpen = False Then! ~$ p1 N3 [  ?' B# L3 C
      ThisDrawing.Layers.Item(i).LayerOn = Not (IsOpen)
$ b3 N% z6 m8 C; J- y2 i    Else
) \+ ?7 e0 Y. F  W/ m; M7 g      ThisDrawing.Layers.Item(i).LayerOn = IsOpen4 z; ]1 J0 `  M5 x- T- {
    End If
$ z1 b5 H. a7 Q8 @4 Q. V" R  Next i
3 ~8 U! T: v2 m; kEnd Sub
& @+ q0 U  y! L--------------------------------------------------------------------------------------------------1 O6 o7 }9 f' w0 u, t
'Lock on UnLock All Layer$ r* }7 A' \. ?9 ~: j  c/ D/ g
'*****************************************; H' L; D0 a% X& d7 y9 ~
Public Sub LockAllLayer(ByVal IsLock As Boolean)
; S* i2 c3 X5 o6 J5 N  Dim i As Integer
1 I; p1 ?- Y$ Q( d. i& U  For i = 0 To ThisDrawing.Layers.count - 1' v0 l9 ]6 [2 s2 A+ ]" G1 Z
    ThisDrawing.Layers.Item(i).Lock = IsLock
) p( @3 Q7 t! q4 K: e, X  Next i
! b" Z* X0 E5 b$ U8 \; GEnd Sub
2 \2 H  K9 Z! t/ o2 O1 w7 j: C0 b- K--------------------------------------------------------------------------------------------------
" o9 g7 S, u- D5 |. D;这些才是宏语言;
 楼主| 发表于 2007-9-16 17:15 | 显示全部楼层
以上代码  打开和关闭、解锁和锁定  的修改   烦劳各位详解  大谢了!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 15:20

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

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

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