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
Сайт управляется системой uCoz