オブジェクトの画層を指定します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.Layer
タイプ: すべての図形オブジェクト、AttributeReference、Group、SubDMeshEdge、SubDMeshFace、SubDMeshVertex、SubEntity、SubEntSolidEdge、SubEntSolidFace、SubEntSolidNode、SubEntSolidVertex
このプロパティが適用されるオブジェクト。
読み込み専用: いいえ(書き込み専用の Group オブジェクトを除く)
タイプ: 文字列
画層の名前
すべてのオブジェクトは画層に関連付けられています。データベースには常に最低 1 つの画層(画層 0)があります。線種の場合と同様、オブジェクトに画層を指定することができます。画層を指定しないと、現在のアクティブな画層が新しいオブジェクトに使用されます。オブジェクトに画層を指定すると、現在のアクティブな画層は無視されます。現在のアクティブな画層を設定または取得するには、ActiveLayer プロパティを使用します。
各画層には、Layer オブジェクトを介して設定、取得可能な関連プロパティがあります。
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.20") 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 "AutoCAD.AcCmColor.20")) (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) )