AddObject Method (ActiveX)

Adds an object to a named dictionary.

Supported platforms: Windows only

Signature

VBA:

RetVal = object.AddObject(Keyword, ObjectName)
object

Type: Dictionary

The object this method applies to.

Keyword

Access: Input-only

Type: String

The keyword to be listed in the dictionary for this object.

ObjectName

Access: Input-only

Type: String

The rxClassName of the object to be created in the dictionary.

Return Value (RetVal)

Type: Object

The newly created object.

Remarks

This method adds a new entry specified by ObjectName to the dictionary. If the entry already exists, it is replaced by the new object. The name of the object is specified by Keyword.

For example, an object with the Keyword "ThirdKeyword" and an object type "Object3" can be added to MyDictionary to create the following:

MyDictionary

Keyword Object

FirstKeyword Object1

SecondKeyword Object2

ThirdKeyword Object3

Note: The ObjectARX application that defines the object must be loaded for this method to function correctly. See the LoadARX method for information on loading ObjectARX applications.

Examples

VBA:

Sub Example_AddObject()
    ' This example creates a dictionary and adds
    ' a custom object to that dictionary.
    
    Dim dictObj As AcadDictionary
    Set dictObj = ThisDrawing.Dictionaries.Add("TEST_DICTIONARY")
    
    ' Load the ObjectARX application that defines the custom object.
    ' Note: The application listed here does not exist and
    ' will cause an error when run. Change the application name
    ' to the path and name of your ObjectARX application.
    ThisDrawing.Application.LoadArx "MyARXApp.dll"
    
    ' Create the custom object in the dictionary
    Dim keyName As String
    Dim className As String
    Dim customObj As AcadObject
    
    keyName = "OBJ1"
    className = "CAsdkDictObject"
    
    Set customObj = dictObj.AddObject(keyName, className)
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_AddObject()
    ;; This example creates a dictionary and adds
    ;; a custom object to that dictionary.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq dictionaries (vla-get-Dictionaries doc))
  
    (setq dictObj (vla-Add dictionaries "TEST_DICTIONARY"))
    
    ;; Load the ObjectARX application that defines the custom object.
    ;; Note: The application listed here does not exist and
    ;; will cause an error when run. Change the application name
    ;; to the path and name of your ObjectARX application.
    (vla-LoadArx acadObj "MyARXApp.dll")
    
    ;; Create the custom object in the dictionary
    (setq keyName "OBJ1")
    (setq className "CAsdkDictObject")

    (setq customObj (vla-AddObject dictObj keyName className))
)