CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

视口默认属性 (ActiveX)

2023-1-3 01:33| 发布者: admin| 查看: 550| 评论: 0|来自: AutoCAD

摘要: 指定是否在新视口中冻结图层。

指定是否在新视口中冻结图层。

支持的平台:仅窗口

签名

工 务 局:

object.ViewportDefault
对象

类型:图层

此属性适用的对象。

属性值

只读:

类型:布尔

  • True:图层冻结在新视口中。
  • False:图层不会冻结在新视口中。

言论

没有额外的评论。

例子

工 务 局:

Sub Example_ViewportDefault()
    ' This example creates a new layer called "New_Layer".  It then uses
    ' the ViewportDefault property of each Layer to display whether or not that layer
    ' is frozen in new viewports.  The user has the ability to toggle whether or not
    ' each layer will be frozen in new viewports, and the final ViewportDefault status
    ' for all layers is displayed.
    
    Dim layerObj As AcadLayer, tempLayer As AcadLayer
    Dim msg As String

    ' Add the layer to the layers collection
    Set layerObj = ThisDrawing.Layers.Add("New_Layer")
    
    ' Make the new layer the active layer for the drawing
    ThisDrawing.ActiveLayer = layerObj
    
    ' Cycle through the layers and allow user to make them frozen in new viewports or not
    
    For Each tempLayer In ThisDrawing.Layers
        If tempLayer.ViewportDefault Then     ' Determine if this layer is fozen in new viewports
            If MsgBox("The layer '" & tempLayer.name & "' will be frozen in new viewports.  Would you like to make this layer unfrozen in new viewports?", vbYesNo & vbQuestion) = vbYes Then
                tempLayer.ViewportDefault = False     ' Change frozen state
            End If
        Else
            If MsgBox("The layer '" & tempLayer.name & "' will not be frozen in new viewports.  Would you like to make this layer frozen in new viewports?", vbYesNo & vbQuestion) = vbYes Then
                tempLayer.ViewportDefault = True      ' Change frozen state
            End If
        End If
    Next
    
    ' Display the new viewport freeze status of the layers in this drawing
    
    For Each tempLayer In ThisDrawing.Layers
        ' Determine if this layer is frozen in new viewports
        If tempLayer.ViewportDefault Then
            msg = msg & "The layer '" & tempLayer.name & "' will be frozen in new viewports." & vbCrLf
        Else
            msg = msg & "The layer '" & tempLayer.name & "' will not be frozen in new viewports." & vbCrLf
        End If
    Next

    MsgBox msg
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ViewportDefault()
    ;; This example creates a new layer called "New_Layer".  It then uses
    ;; the ViewportDefault property of each Layer to display whether or not that layer
    ;; is frozen in new viewports.  The user has the ability to toggle whether or not
    ;; each layer will be frozen in new viewports, and the final ViewportDefault status
    ;; for all layers is displayed.

    ;; Add the layer to the layers collection
    (setq layerObj (vla-Add (vla-get-Layers doc) "New_Layer"))
    
    ;; Make the new layer the active layer for the drawing
    (vla-put-ActiveLayer doc layerObj)
    
    ;; Cycle through the layers and allow user to make them frozen in new viewports or not 
    (vlax-for tempLayer (vla-get-Layers doc)
        ;; Display the current new viewports layer state
        (if (= (vla-get-ViewportDefault tempLayer) :vlax-true)
            (alert (strcat "The layer '" (vla-get-Name tempLayer) "' is frozen for new viewports. Toggling state now."))
            (alert (strcat "The layer '" (vla-get-Name tempLayer) "' is not frozen for new viewports. Toggling state now."))
        )
        (vla-put-ViewportDefault tempLayer (if (= (vla-get-ViewportDefault tempLayer) :vlax-true) :vlax-false :vlax-true))
    )
    
    ;; Display the new viewport freeze status of the layers in this drawing
    (setq msg "")
    (vlax-for tempLayer (vla-get-Layers doc)
        ;; Determine if this layer is frozen in new viewports
        (if (= (vla-get-ViewportDefault tempLayer) :vlax-true)
            (setq msg (strcat msg "The layer '" (vla-get-Name tempLayer) "' will be frozen in new viewports.\n"))
            (setq msg (strcat msg "The layer '" (vla-get-Name tempLayer) "' will not be frozen in new viewports.\n"))
        )
    )

    (alert msg)
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部