|
ZScaleFactor Пример |
Sub Example_ZScaleFactor()
'Этот пример создает блок, содержащий круг.
'Затем вставляет блок и изменяет ZScaleFactor.
'Создайте блок
Dim blockObj As AcadBlock
Dim insertionPnt(0 To 2) As Double
insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#
Set blockObj = ThisDrawing.Blocks.Add(insertionPnt, "CircleBlock")
'Добавьте круг к блоку
Dim circleObj As AcadCircle
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 0: center(1) = 0: center(2) = 0
radius = 1
Set circleObj = blockObj.AddCircle(center, radius)
'Вставьте блок
Dim blockRefObj As AcadBlockReference
insertionPnt(0) = 2#: insertionPnt(1) = 2#: insertionPnt(2) = 0
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, "CircleBlock", 1#, 1#, 1#, 0)
ZoomAll
'Найдите текущий ZScaleFactor для вхождения блока
Dim currZScaleFactor As Double
currZScaleFactor = blockRefObj.ZScaleFactor
MsgBox "Текущий ZScaleFactor для вхождения блока " & blockRefObj.ZScaleFactor, , "ZScaleFactor Пример"
'Измените ZScaleFactor для вхождения блока
blockRefObj.ZScaleFactor = currZScaleFactor + 2
'Измените направление рассмотрения области просмотра, чтобы лучше видеть изменение zscale
Dim NewDirection(0 To 2) As Double
NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
ThisDrawing.ActiveViewport.direction = NewDirection
ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
ZoomAll
MsgBox "Новый ZScaleFactor для вхождения блока " & blockRefObj.ZScaleFactor, , "ZScaleFactor Пример"
End Sub