本帖最后由 csharp 于 2014-11-25 19:05 编辑
你这是 ActiveX
RetVal = object.CopyObjects(Objects[, Owner][, IDPairs])
.Net 没有这个 method
- Sub Example_CopyObjects()
- ' This example creates a Circle object and uses the CopyObjects
- ' method to make a copy of the new Circle.
- Dim DOC1 As AcadDocument
- Dim circleObj1 As AcadCircle, circleObj2 As AcadCircle
- Dim circleObj1Copy As AcadCircle, circleObj2Copy As AcadCircle
- Dim centerPoint(0 To 2) As Double
- Dim radius1 As Double, radius2 As Double
- Dim radius1Copy As Double, radius2Copy As Double
- Dim objCollection(0 To 1) As Object
- Dim retObjects As Variant
-
- ' Define the Circle object
- centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0
- radius1 = 5#: radius2 = 7#
- radius1Copy = 1#: radius2Copy = 2#
-
- ' Create a new drawing
- Set DOC1 = Documents.Add
-
- ' Add two circles to the drawing
- Set circleObj1 = DOC1.ModelSpace.AddCircle(centerPoint, radius1)
- Set circleObj2 = DOC1.ModelSpace.AddCircle(centerPoint, radius2)
- ThisDrawing.Application.ZoomAll
-
- ' Copy objects
- '
- ' First put the objects to be copied into a form compatible with CopyObjects
- Set objCollection(0) = circleObj1
- Set objCollection(1) = circleObj2
-
- ' Copy object and get back a collection of the new objects (copies)
- retObjects = DOC1.CopyObjects(objCollection)
-
- ' Get newly created object and apply new properties to the copies
- Set circleObj1Copy = retObjects(0)
- Set circleObj2Copy = retObjects(1)
-
- circleObj1Copy.radius = radius1Copy
- circleObj2Copy.radius = radius2Copy
-
- ThisDrawing.Application.ZoomAll
-
- MsgBox "Circles copied."
- End Sub
|