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