Specifies the layer for an object.
Supported platforms: Windows only
VBA:
object.Layer
Type: All drawing objects, AttributeReference, Group, SubDMeshEdge, SubDMeshFace, SubDMeshVertex, SubEntity, SubEntSolidEdge, SubEntSolidFace, SubEntSolidNode, SubEntSolidVertex
The objects this property applies to.
Read-only: No; except for the Group object which is write-only
Type: String
The name of the layer.
All objects have an associated layer. The document always contains at least one layer (layer 0). As with linetypes, you can specify a layer for an object. If you do not specify a layer, the current active layer is used for a new object. If a layer is specified for an object, the current active layer is ignored. Use the ActiveLayer property to set or query the current active layer.
Each layer has associated properties that can be set and queried through the Layer object.
VBA:
Sub Example_Layer() ' This example creates a new layer named "ABC" (colored blue). ' It then creates a circle and assigns it to layer "ABC" ' Create new layer Dim layerObj As AcadLayer Set layerObj = ThisDrawing.Layers.Add("ABC") Dim color As AcadAcCmColor Set color = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor." & Left(AcadApplication.Version, 2)) Call color.SetRGB(80, 100, 244) layerObj.TrueColor = color ' Create Circle Dim circleObj As AcadCircle Dim center(0 To 2) As Double Dim radius As Double center(0) = 3: center(1) = 3: center(2) = 0 radius = 1.5 Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) ZoomAll MsgBox "The circle has been created on layer " & circleObj.Layer, , "Layer Example" ' Set the layer of new circle to "ABC" circleObj.Layer = "ABC" ' Refresh view ThisDrawing.Regen (True) MsgBox "The circle is now on layer " & circleObj.Layer, , "Layer Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_Layer() ;; This example creates a new layer named "ABC" (colored blue). ;; It then creates a circle and assigns it to layer "ABC" (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create new layer (setq layerObj (vla-Add (vla-get-Layers doc) "ABC")) (setq color (vlax-create-object (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2)))) (vla-SetRGB color 80 100 244) (vla-put-TrueColor layerObj color) ;; Create Circle (setq center (vlax-3d-point 3 3 0) radius 1.5) (setq modelSpace (vla-get-ModelSpace doc)) (setq circleObj (vla-AddCircle modelSpace center radius)) (vla-ZoomAll acadObj) (alert (strcat "The circle has been created on layer " (vla-get-Layer circleObj))) ;; Set the layer of new circle to "ABC" (vla-put-Layer circleObj "ABC") ;; Refresh view (vla-Regen doc :vlax-true) (alert (strcat "The circle is now on layer " (vla-get-Layer circleObj))) (vlax-release-object color) )