|
IsPrimary Пример |
Sub Example_IsPrimary()
' Этот пример создает объект 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