CAD设计论坛

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

[求助] CAD中VBA给动态数组赋值的问题

[复制链接]
发表于 2009-2-23 11:32 | 显示全部楼层 |阅读模式
如下声明一个选择集及过滤器:2 ^" m- b( W3 S" r, B
    Dim SZ As AcadSelectionSet, FT(0) As Integer, FD(0) As Variant
8 N$ G1 N% D6 R+ K. g- T3 Q/ t再如下声明一个直线临时变量并声明一个直线动态数组,用于存放所选择的直线:
% f6 k* Y0 K: b: C    Dim L As AcadLine, L1() As AcadLine
( K3 g6 d: i5 I& n' `7 S) r4 O: Q8 O0 [
With ThisDrawing
# \" t* J* m* U/ k) E& W    定义选择的对象为直线对象,创建选择集并由用户在屏幕上选择
) R+ C2 m) ?3 N; I, p' S     FT(0) = 0
6 O+ Y5 O2 s/ @% ^( p( A        FD(0) = "line"
; X% ^7 V% {. D% g* t        Set SS = .SelectionSets.Add("SS")
) x  D5 l+ O  [8 Y( M5 k8 m& @        SS.SelectOnScreen FT, FD7 ^5 K1 S( ^' x0 H" C! H2 ?* ]

- d3 B4 k- j% K9 G5 ^* x7 H     在CAD 模型空间选取几条直线后,在以下的遍历选择集中,如何将所选直线分别存入动态数组L1中' ?5 {  o" F0 R& _' p
        For Each L In SS6 r( H0 B$ b9 U% \( ~/ U
, ^( R, v5 k$ S2 `/ t6 i
                      ???????????
+ X* m* q# k; _" ^5 J; ?3 A4 N: ?                      ?????????????  n( L. b2 S4 f2 H# E, s  J* ]$ \& B
- w- B$ M4 W2 G$ \' k3 u
            Next3 Y1 [/ m, o7 m7 M' b- Y; }, E
End with
$ }: c0 `) Q$ ]! E5 j9 g求高手帮助,谢谢
 楼主| 发表于 2009-2-23 15:48 | 显示全部楼层
希望有人帮助.......
 楼主| 发表于 2009-2-23 17:25 | 显示全部楼层
最后顶一次。。。
发表于 2009-9-26 08:58 | 显示全部楼层
先看看。。。。。。
发表于 2010-1-30 12:12 | 显示全部楼层
在遍历之前根据选择集中对象数量重定义动态数组
, g% b4 i$ w9 Y8 T6 v/ K
  1. 3 ~# O/ @2 h' D" [, G  B
  2. If SS.Count>0 Then
    2 G3 m5 j" [+ U6 e( f
  3. Dim I as Integer
    ) V3 e  W7 z& [- l6 [; S
  4. Redim L1(SS.Count-1)
    4 K+ }$ @# n. y4 Y
  5. For Each L In SS3 B, R+ u! I$ L! L. i5 ~
  6. Set L1(I)=L) P6 j3 U7 B+ f, [; F0 @' S
  7. I=I+1
    % J! z9 {+ |3 |- w" v! ]
  8. Next
    6 C6 a8 T9 g( ]% V5 ^+ U! n
  9. End If9 v- h* N( p; [( W: k
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-26 11:33

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

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

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