Share
 
 

Materials Property (ActiveX)

Returns the materials collection for the database.

Supported platforms: Windows only

Signature

VBA:

object.Materials
object

Type: Database, Document

The object to which this property applies.

Property Value

Read-only: Yes

Type: Materials

The Materials collection for the database.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_AddMaterial()
    Dim oMaterial As AcadMaterial
    Dim oMaterials As AcadMaterials
    Set oMaterial = ThisDrawing.Materials.Add("TestMaterial")
    oMaterial.Description = "This material demonstrates how to add a material to a database."
    ThisDrawing.ActiveMaterial = oMaterial
    
    ' Display the name and description of the layer
    MsgBox oMaterial.Name & " has been added." & vbCrLf & _
            "Name: " & vbCrLf & oMaterial.Name & vbCrLf & vbCrLf & _
            "Description: " & vbCrLf & _
            oMaterial.Description

End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Materials()
    (setq acadObj (vlax-get-acad-object)
          doc (vla-get-ActiveDocument acadObj))

    (if (= (strcase (getvar "PROGRAM") T) "acad")
        (progn
            (setq oMaterial (vla-Add (vla-get-Materials doc) "TestMaterial"))
            (vla-put-Description oMaterial "This material demonstrates how to add a material to a database.")
            (vla-put-ActiveMaterial doc oMaterial)
        )
        (setq oMaterial (vla-get-ActiveMaterial doc))
    )

    ;; Display the status of the new layer
    (alert (strcat (vla-get-Name oMaterial) " has been added."
                   "\nName: " (vla-get-Name oMaterial)
                   "\nDescription: " (vla-get-Description oMaterial)))
)

Was this information helpful?