'矩形阵列
Private Function RecArray(Pt11 As Double, Pt12 As Double, Pt21 As Double, Pt22 As Double, Xn As Long, Yn As Long, DisXn As Double, DisYn As Double)
'创建选择集
Dim SS As Object
Dim a As String
Dim Pt1(0 To 2) As Double, Pt2(0 To 2) As Double
Pt1(0) = Pt11 * GlS / LoS + lx: Pt1(1) = Pt12 * GlS / LoS + ly: Pt1(2) = 0
a = CStr(SSetName)
Pt2(0) = Pt21 * GlS / LoS + lx: Pt2(1) = Pt22 * GlS / LoS + ly: Pt2(2) = 0
Acad.ActiveDocument.Regen acActiveViewport
'MsgBox Pt1(0) & " and " & Pt1(1) & vbCr & Pt2(0) & " and " & Pt2(1)
'这一行很重要,AutoCAD VBA当中使用选择集的时候,其选择到的对象范围和当前的显示对象是相关的
'所以最好在选择前,利用ZoomWindow方法,将当前视图Zoom到需要选择的范围内
Acad.ZoomWindow Pt1, Pt2
Set SS = Acad.ActiveDocument.SelectionSets.Add(a)
SS.Select acSelectionSetWindow, Pt1, Pt2
SSetName = SSetName + 1
'进行阵列
Dim ent As Object
For Each ent In SS
ent.ArrayRectangular Yn, Xn, 1, DisYn * GlS / LoS, DisXn * GlS / LoS, 1
Next
Acad.ZoomAll
End Function