| HasVpAssociation 属性 (ActiveX) 指定视图是否与纸张空间视口相关联。 支持的平台:仅限 Windows 属性值只读:不 类型:布尔 
 言论没有其他评论。 例子VBA: Sub Example_HasVpAssociation()
    ' This example demonstrates the
    ' CategoryName, LayoutId, LayerState,
    ' and HasVpAssociation properties of the View object
    
    Dim oLSM As AcadLayerStateManager
    ' Access the LayerStateManager object
    Set oLSM = ThisDrawing.Application. _
       GetInterfaceObject("AutoCAD.AcadLayerStateManager." & Left(AcadApplication.Version, 2))
    ' Associate the current drawing database with LayerStateManager
    oLSM.SetDatabase ThisDrawing.Database
    oLSM.Save "ColorLinetype", acLsColor + acLsLineType
    
    ' Create a view named "New_View" in current drawing
    Dim viewObj As AcadView
   
    ' Add the view to the views collection
    Set viewObj = ThisDrawing.Views.Add("New_View")
    MsgBox viewObj.Name & " has been added." & vbCrLf & _
           "Height: " & viewObj.height & vbCrLf & _
           "Width: " & viewObj.Width, , "Example"
    
    viewObj.CategoryName = "My View Category"
    viewObj.LayerState = "My Layer State"
    
    viewObj.LayoutId = ThisDrawing.Layouts(1).ObjectID
        
    MsgBox viewObj.CategoryName & " is the Category name." & vbCrLf & _
            viewObj.LayoutId & " is the Layout ID." & vbCrLf & _
            viewObj.LayerState & " is the Layer state."
   
    If viewObj.HasVpAssociation = True Then
        MsgBox "The view is associated with a paper space viewport."
    Else
        MsgBox "The view is not associated with a paper space viewport."
   End If
End Sub可视化 LISP: (vl-load-com)
(defun c:Example_HasVpAssociation()
    ;; This example demonstrates the
    ;; CategoryName, LayoutId, LayerState,
    ;; and HasVpAssociation properties of the View object
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    ;; Access the LayerStateManager object
    (setq oLSM (vla-GetInterfaceObject acadObj (strcat "AutoCAD.AcadLayerStateManager." (substr (getvar "ACADVER") 1 2))))
    ;; Associate the current drawing database with LayerStateManager
    (vla-SetDatabase oLSM (vla-get-Database doc))
    (vla-Save oLSM "ColorLinetype" (+ acLsColor acLsLineType))
    
    ;; Create a view named "New_View" in current drawing
    ;; Add the view to the views collection
    (setq viewObj (vla-Add (vla-get-Views doc) "New_View"))
    (alert (strcat (vla-get-Name viewObj) " has been added."
                   "\nHeight: " (rtos (vla-get-Height viewObj) 2)
                   "\nWidth: " (rtos (vla-get-Width viewObj) 2)))
    
    (vla-put-CategoryName viewObj "My View Category")
    (vla-put-LayerState viewObj "ColorLinetype")
    
    (vla-put-LayoutId viewObj (vla-get-ObjectID (vla-Item (vla-get-Layouts doc) 1)))
    (alert (strcat (vla-get-CategoryName viewObj) " is the Category name."
                   "\n" (itoa (vla-get-LayoutId viewObj)) " is the Layout ID."
                   "\n" (vla-get-LayerState viewObj) " is the Layer state."))
  
    (if (= (vla-get-HasVpAssociation viewObj) :vlax-true)
        (alert "The view is associated with a paper space viewport.")
        (alert "The view is not associated with a paper space viewport.")
    )
    (vlax-release-object oLSM)
) | 
 |Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1   苏公网安备32011402011833)
GMT+8, 2025-10-31 14:05
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.