IsCloned Пример |
Sub Example_IsCloned() ' Этот пример создает объект Circle и использует метод CopyObjects, чтобы ' скопировать Circle. Затем показывает немного информации об исходных ' объектах, используемых в операции CopyObjects. Dim circleObj As AcadCircle, circleObjCopy As AcadCircle Dim centerPoint(0 To 2) As Double Dim radius1 As Double, radius1Copy As Double Dim objCollection(0 To 0) As Object Dim retObjects As Variant Dim IDPairs As Variant Dim IsClonedState As String, IsPrimary As String, IsXLated As String 'Определите объект Circle centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0 radius1 = 5#: radius1Copy = 1# 'Добавьте два круга к рисунку Set circleObj = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius1) ThisDrawing.Application.ZoomAll 'Объекты копии ' 'Сначала поместите объекты, которые будут скопированы в форму, совместимую с CopyObjects Set objCollection(0) = circleObj 'Копируются объекты и возвращается коллекция новых объектов retObjects = ThisDrawing.CopyObjects(objCollection, , IDPairs) 'Получите недавно созданный объект и примените новые свойства к копиям Set circleObjCopy = retObjects(0) circleObjCopy.radius = radius1Copy ThisDrawing.Application.ZoomAll ThisDrawing.Regen acAllViewports 'Отображение, имеет ли первый исходный объект аналог IsClonedState = IIf(IDPairs(0).IsCloned, "имитируется.", "не имитируется. ") IsPrimary = IIf(IDPairs(0).IsPrimary, "является первичным экземпляром скопированных объектов.", "принадлежит первичному экземпляру скопированных объектов. ") IsXLated = IIf(IDPairs(0).IsOwnerXlated, "был переведен.", "не был переведен.") MsgBox "Новый объект источника Circle: " & IsClonedState & vbCrLf & _ "Новый объект источника Circle: " & IsPrimary & vbCrLf & _ "Источник нового объекта Circle: " & IsXLated & vbCrLf, vbInformation End Sub