koutx 发表于 2009-2-23 11:32

CAD中VBA给动态数组赋值的问题

如下声明一个选择集及过滤器:
    Dim SZ As AcadSelectionSet, FT(0) As Integer, FD(0) As Variant
再如下声明一个直线临时变量并声明一个直线动态数组,用于存放所选择的直线:
    Dim L As AcadLine, L1() As AcadLine

With ThisDrawing
    定义选择的对象为直线对象,创建选择集并由用户在屏幕上选择
   FT(0) = 0
      FD(0) = "line"
      Set SS = .SelectionSets.Add("SS")
      SS.SelectOnScreen FT, FD

   在CAD 模型空间选取几条直线后,在以下的遍历选择集中,如何将所选直线分别存入动态数组L1中
      For Each L In SS

                      ???????????
                      ?????????????

            Next
End with
求高手帮助,谢谢

koutx 发表于 2009-2-23 15:48

希望有人帮助.......

koutx 发表于 2009-2-23 17:25

最后顶一次。。。

37734532 发表于 2009-9-26 08:58

先看看。。。。。。

woaishuijia 发表于 2010-1-30 12:12

在遍历之前根据选择集中对象数量重定义动态数组

If SS.Count>0 Then
Dim I as Integer
Redim L1(SS.Count-1)
For Each L In SS
Set L1(I)=L
I=I+1
Next
End If
页: [1]
查看完整版本: CAD中VBA给动态数组赋值的问题