Share
 
 

CategoryName Property (ActiveX)

Specifies the category name of a view.

Supported platforms: Windows only

Signature

VBA:

object.CategoryName
object

Type: View

The object this property applies to.

Property Value

Read-only: No

Type: String

The category name of the view.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_CategoryName()
    ' 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 "My Layer State", 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

Visual LISP:

(vl-load-com)
(defun c:Example_CategoryName()
    ;; This example demonstrates the
    ;; CategoryName, LayoutId, LayerState,
    ;; and HasVpAssociation properties of the View object
    (setq acadObj (vlax-get-acad-object)
          doc (vla-get-ActiveDocument acadObj))

    ;; 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-LayoutId viewObj (vla-get-ObjectID (vla-Item (vla-get-Layouts doc) 1)))

    ;; If using AutoCAD, we can utilize the Layer State Manager
    (if (/= (strcase (getvar "PROGRAM") T) "acadlt")
        (progn
            ;; 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 "My Layer State" (+ acLsColor acLsLineType))
            (vla-put-LayerState viewObj "My Layer State")
      
            (vlax-release-object oLSM)
        )
    )

    (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.")
    )
)

Was this information helpful?