メインコンテンツに移動

図面内のすべてのレイヤを列挙する

図面内のすべてのレイヤを列挙して、レイヤの情報を取得するサンプルコードです。

C#
// 現在の図面のレイヤを取得する
Document doc = Application.ActiveDocument;
LayerTable layerTable = doc.LayerTable;
 
GetLayerInfo(layerTable.RootLayer);
 
 
void GetLayerInfo(Layer layer)
{
    // レイヤグループの場合は、子レイヤを列挙する
    if (layer.IsGroup)
    {
        foreach (var childLayer in layer.ChildLayers)
        {
            GetLayerInfo(childLayer);
        }
    }
    // レイヤの場合
    else
    {
        string layerName = layer.Name;
        ShapeState layerState = layer.State;
        int colorNumber = layer.Color.Number;
        string lineTypeName = layer.Linetype.Name;
        int lineWidthNumber = layer.Linewidth.Number;
    }
}