public static List<string> GetNamesOfLayers(this Database db, bool includeFrozen, bool includeOff, bool includeXref, Transaction tr)
{
List
<string> layerNames
= new List
<string>(); LayerTable lt = (LayerTable)tr.GetObject(db.LayerTableId, OpenMode.ForRead);
foreach (ObjectId layerId in lt)
{
LayerTableRecord layer = (LayerTableRecord)tr.GetObject(layerId, OpenMode.ForRead);
if (includeXref || !layer.IsDependent)
if ((includeOff || !layer.IsOff) && (includeFrozen || !layer.IsFrozen))
layerNames.Add(layer.Name);
}
layerNames
.Sort(new ComparerHyphen
()); return layerNames;
}