ViewportDefault Пример

Sub Example_ViewportDefault()
    'Этот пример создает новый слой "New_Layer". Затем использует свойство 
    'ViewportDefault каждого Layer, чтобы показать, действительно ли тот слой 
    'закреплен в новых областях просмотра. Пользователь имеет возможность 
    'переключить, действительно ли каждый слой будет закреплен в новых 
    'областях просмотра, конечное состояние ViewportDefault для всех слоев показано.
    
    Dim layerObj As AcadLayer, tempLayer As AcadLayer
    Dim msg As String

    'Добавьте слой к коллекции слоев
    Set layerObj = ThisDrawing.Layers.Add("New_Layer")
    
    'Сделайте новый слой активным слоем для рисунка
    ThisDrawing.ActiveLayer = layerObj
    
    'Циклически пройдите слои и позвольте пользователю делать их закрепленными в новых областях просмотра
    
    For Each tempLayer In ThisDrawing.Layers
        If tempLayer.ViewportDefault Then     ' Определите, закреплен ли этот слой в новых областях просмотра
            If MsgBox("Слой '" & tempLayer.name & "' закреплен в новых областях просмотра. Хотели бы Вы cделать этот слой не закрепленым в новых областях просмотра?", vbYesNo & vbQuestion) = vbYes Then
                tempLayer.ViewportDefault = False     ' Измените закрепленное состояние
            End If
        Else
            If MsgBox("Слой '" & tempLayer.name & "' не закреплен в новых областях просмотра. Хотели бы Вы делать этот слой закрепленным в новых областях просмотра?", vbYesNo & vbQuestion) = vbYes Then
                tempLayer.ViewportDefault = True      ' Измените закрепленное состояние
            End If
        End If
    Next
    
    'Покажите новое состояние закрепления области просмотра слоев в этом рисунке
    
    For Each tempLayer In ThisDrawing.Layers
        'Определите, закреплен ли этот слой в новых областях просмотра
        If tempLayer.ViewportDefault Then
            msg = msg & "Слой '" & tempLayer.name & "' закреплен в новых областях просмотра." & vbCrLf
        Else
            msg = msg & "Слой '" & tempLayer.name & "' не закреплен в новых областях просмотра." & vbCrLf
        End If
    Next

    MsgBox msg
End Sub
Сайт управляется системой uCoz