'打开到一张图纸上
Public Sub CopyFromOuterDwg(CurDocname As String, NewDocname As String)
' 打开第一张图
Dim objCurDoc As AcadDocument
Set objCurDoc = acadapp.Application.Documents(App.Path & "\Gallery\" & CurDocname & ".dwg")
' 打开一个新图形
Dim objNewDoc As AcadDocument
Set objCurDoc = acadapp.Application.Documents(App.Path & "\Gallery\" & NewDocname & ".dwg")
Set objNewDoc = acadapp.Application.ActiveDocument
' 将外部图形的实体复制到当前图形
Set ssetobj = CreateSelectionSet
ssetobj.Select acSelectionSetAll
acadapp.ActiveDocument.CopyObjects ssArray(ssetobj), objCurDoc.ModelSpace
objCurDoc.Regen acAllViewports
' 关闭打开的图形
objNewDoc.Close (False)
End Sub
'返回包含于选择集中每一项目的变体数,参数:一选择集
Public Function ssArray(ss As AcadSelectionSet)
Dim retVal() As AcadEntity, k As Long
ReDim retVal(0 To ss.Count - 1)
For k = 0 To ss.Count - 1
Set retVal(k) = ss.Item(k)
Next
ssArray = retVal
End Function
'建立选择集
'示例:acadapp.activedocument.ModelSpace.AddRegion ssArray(mySS)
Public Function CreateSelectionSet(Optional ByVal SSetName As String) As AcadSelectionSet
On Error Resume Next
acadapp.ActiveDocument.SelectionSets(SSetName).Delete
Set CreateSelectionSet = acadapp.ActiveDocument.SelectionSets.Add(SSetName)
End Function