CopyObjects Example |
Using Programming Languages other than VBA
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
Comments? |